0

曜日に基づいてテキスト値を変更していますが、文字列値を使用してこれを達成できましたが、代わりに数値で達成できるようにしたいと考えています - 異なる言語の問題を取り除きます。たとえば、今日が月曜日の場合は実行します... しかし、今日が 1 日目である場合は実行します。以下のコードを試してみましたが、数値が 0 になりました。

    NSDateFormatter *dayofweekformatter = [[NSDateFormatter alloc] init];
[dayofweekformatter setDateFormat:@"E"];

NSString *DayOfWeek = [dayofweekformatter stringFromDate:[NSDate date]];
NSInteger weekDay = [DayOfWeek integerValue];
NSLog(@"The day of the week is: %d", weekDay);

これを行うことは可能ですか?

4

2 に答える 2

0

このリンクによると、「E」だけで曜日がテキスト形式で表示されます。つまり、「Mon」/「Tue」などです。

曜日を整数で表す場合は、小文字の「e」または「c」を使用する必要があります。

別の実装では、ユーザーが優先するカレンダーに基づいて、さまざまなデバイス間でさまざまな設定が考慮される可能性が高いため、曜日を使用NSCalendarして決定することになります。NSDateComponents

NSDate *date = [NSDate date];

NSCalendar *calendar = [NSCalendar currentCalendar];

NSDateComponents *dateComponents = [calendar components:NSCalendarUnitWeekday fromDate:date];

NSLog(@"day of the week: %i", [dateComponents weekday]);
于 2013-10-10T13:18:27.150 に答える