年間通算日から日付を取得するにはどうすればよいですか? たとえば、日を「1」とすると、日付は「1 月 1 日」になります。
iPhoneでそれを取得するにはどうすればよいですか?私はjavascriptで答えを見つけましたが、Objectiveで同じことを達成する方法を知りたいですか?
年間通算日から日付を取得するにはどうすればよいですか? たとえば、日を「1」とすると、日付は「1 月 1 日」になります。
iPhoneでそれを取得するにはどうすればよいですか?私はjavascriptで答えを見つけましたが、Objectiveで同じことを達成する方法を知りたいですか?
このコードはうまくいくと思います: テキストフィールドが追加する日数の入力値を与えるサンプル関数を作成しました。そして、最終日を計算するボタン。ボタン イベント ロジックは次のとおりです。
NSDateComponents *dateComponent = [[NSDateComponents alloc] init];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-mm-dd"];
NSDate *newDate = [formatter dateFromString:@"2012-01-01"];
// add days to current date
dateComponent.day = [dayTextField.text intValue];
// get a new date by adding components
newDate = [[NSCalendar currentCalendar] dateByAddingComponents: dateComponent toDate:newDate options:0];
[finalDate setText:[NSString stringWithFormat:@"%@", newDate]];
ここで dayTextField.text は、計算したい日数を示すテキストです。(たとえば 125 日) で、finalDate は最終生成日 (2012 年 1 月 1 日から 125 日後の日付) を表示するラベルです。
このコードの利点は、いつでも開始日のパラメーターを変更できることです。たとえば、他の要件については、「1999 年 5 月 31 日」からの日数を数える必要があり、1 行で簡単に変更でき、同じコードが機能します。
コーディングをお楽しみください :)
NSCalendar *gregorian =
[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger dayOfYear =
[gregorian ordinalityOfUnit:NSDayCalendarUnit
inUnit:NSYearCalendarUnit forDate:[NSDate date]];
[gregorian release];
return dayOfYear;