2011-08-02 21 views
-1

現在の日付が表示されます。以下。 8月2日から9月02日までの日付の取得方法

は、任意の8月2日から9月までの日付のから与えられる方法02.

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"dd"]; 
    NSString *dateString = [dateFormatter stringFromDate:[NSDate date]]; 
    NSLog(@"%@",dateString); 
+0

質問を詳しくお聞かせください。あなたは何をしたいのですか? –

答えて

-1

使用[NSDate dateSinceTimeInterval:(NSTimeInterval)]

NSTimeIntervalがある中でsecsので、24時間のためにそれが86400secs

ジュースが実行されますがありforループを作成し、timeIntervalを追加して新しい日付を作成する

NSDate *newDate = [NSDate dateSinceTimeInterval:(NSTimeInterval)]

+0

私の方法が動作します... 私はそれを使用しました:/ – Hisenberg

+2

秒を加算または減算することによって日付を操作することはこれについて間違った方法です。 – Abizern

+0

それは動作しますが、それは脆く、それを実行するより良い方法があります。 – Abizern

2
NSDateComponents *comps = [[NSDateComponents alloc] init]; 
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"dd"]; 


int nrOfDays = 30; 

for(int i = 0; i<=nrOfDays; i++){ 
    [comps setDay:i]; 
    NSDate *date = [gregorian dateFromComponents:comps]; 

    NSString *dateString = [dateFormatter stringFromDate:date]; 
    NSLog(@"%@",dateString); 
} 
[dateFormatter release]; 
[gregorian release]; 
[comps release]; 

私は100%確信していませんが、これはうまくいくと思います。私はそれを試していないので、いくつかの構文エラーかもしれない、xcodeへのアクセスは現在ありません。

0

Date and Time Programming Guideにカレンダー計算のセクション全体があります。

重要なのは、1日に数秒を追加するのではなく、日付コンポーネントを使用することです。

日付スパンが異なる場合はどうなりますか?サマータイムが作動/停止した場合はどうなりますか?このようなことは、秒を追加するだけで脆弱なNSDateComponentsを操作するときに考慮されます。

関連する問題