0

こんにちは私はiOSプログラミングに非常に慣れておらず、日付(今日の日付と1年後の日付)で遊んでいます。

これが私が手を出しているコードです。

NSCalendar * calendar = [NSCalendar currentCalendar];//Create a calendar
NSDate *todaysDate = [[NSDate alloc]init]; //get todays date
NSString *dateToday = [NSString stringWithFormat:@"%@",todaysDate];//convert it to a string
NSDateFormatter *df = [[NSDateFormatter alloc] init];// create a formatter
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ" ];//input how the date looks as a string
myDate = [df dateFromString: dateToday];// change it back to a proper NSDate

NSDateComponents *components = [[NSDateComponents alloc] init]; // create the components
[components setYear:1];//add 1 year
nextYear = [calendar dateByAddingComponents:components toDate:todaysDate options:0]; // build the year from component into a variable


dateNextYear = [NSString stringWithFormat:@"%@",nextYear];//convert it to a string
NSDateFormatter *yearFormat = [[NSDateFormatter alloc] init];// create a formatter
[yearFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ" ];//input how the date looks as a string
myDateInTheFuture = [yearFormat dateFromString: dateNextYear];// change it back to a proper NSDate


NSLog(@" next years date is %@ ", myDateInTheFuture);
[yearFormat release];
[components release];
[todaysDate release];

現在の日付と1年後の将来の日付を取得できますが、比較のために将来の日付をどのように保存するかわかりません。NSDateの「比較」項目を使用して確認できますが、設定すると実行するたびに変数の将来の日付は、今日の日付である私がチェックしているものとは別に、相対的な1年のままです。私がいる午前3時、私の脳はどろどろしているので、これがこれまでで最も単純なことであり、私がそれを見ることができない場合は、事前に謝罪します。

それは私の最初の投稿なので、私に気楽に行ってください。ありがとう

4

1 に答える 1

1

私はあなたが何をしようとしているのか完全にはわかりませんが、これが私が集めたものです:

現在の日付を取得し、それに1年を追加して、結果の日付を操作します。

これが正しくない場合はお知らせください。

これについては、次のことを試してください。

NSDate *todayDate = [NSDate date]; //Create a date that is set to today
NSDate *resultingDate = [calendar dateByAddingTimeInterval:31556926; //Take the current date and add the amount of seconds in a year to it

これを永続的に保存する場合は、NSUserDefaultsを使用します。

設定するには:

[userDefaults setObject:resultingDate forKey:@"storedDate"];

お役に立てれば、

HBhargava

取得するため:

NSDate *returnedDate = [userDefaults dateForKey:@"storedDate"];
于 2011-12-31T04:20:28.397 に答える