月の初日の平日を取得する必要があります。たとえば、現在の月である 2013 年 9 月の場合、最初の日は日曜日になります。
質問する
3582 次
4 に答える
10
最初に、当月の最初の日を取得します (例):
NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorian components:(NSEraCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit) fromDate:today];
components.day = 1;
NSDate *firstDayOfMonth = [gregorian dateFromComponents:components];
次に、NSDateFormatter を使用して平日として出力します。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];
NSLog(@"%@", [dateFormatter stringFromDate:firstDayOfMonth]);
PSも見てくださいDate Format Patterns
于 2013-09-17T21:48:53.820 に答える
1
必要な出力に応じて、NSDateFormatter
(すでに述べたように)使用するか、NSDateComponents
クラスを使用できます。NSDateFormatter
文字列表現NSDateComponents
を提供し、整数値を提供します。メソッドweekday
はあなたが望むことをするかもしれません。
NSDateComponents *components = ...;
NSInteger val = [components weekday];
于 2013-09-17T21:52:06.100 に答える
0
スイフト 4.2 の場合
初め:
extension Calendar {
func startOfMonth(_ date: Date) -> Date {
return self.date(from: self.dateComponents([.year, .month], from: date))!
}
}
2番:
self.firstWeekDay = calendar.component(.weekday, from: calendar.startOfMonth(Date()))
于 2019-04-05T18:18:03.120 に答える