xcode - 从 NSDate 获取该月第一天的星期名称

标签 xcode cocoa date components weekday

我有一个 NSDate,我想从该 NSDate 中找出该月第一天的星期几名称。例如,我得到“2013 年 5 月 15 日”,我想返回“星期三”,因为“2013 年 5 月 1 日”是星期三。这是我的测试代码;

    // Setup a Date and Formatter and load with a date
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];

    NSDate *date = [dateFormatter dateFromString:@"2013-05-10"];
    NSLog(@"Day In Month : %@", [dateFormatter stringFromDate:date]);

    // Setup a calendar and extract components and force to the first
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    //NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *dateComponants = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];

    [dateComponants setDay:1];

    date = [calendar dateFromComponents:dateComponants];
    NSLog(@"First Day : %@", [dateFormatter stringFromDate:date]);

    // Change the formatter for the Day name
    [dateFormatter setDateFormat:@"EEEE"];
    NSLog(@"Day Name : %@", [dateFormatter stringFromDate:date]);

这是我的日志所说的......

Day In Month : 2013-05-10
First Day : 2013-06-01
Day Name : Saturday

六月的日期中间在做什么?事实上 6 月 1 日是星期六,但这并没有真正帮助我。

感谢您的帮助。

最佳答案

替换

NSDateComponents *dateComponants = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];

NSDateComponents *dateComponants = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate: date];

关于xcode - 从 NSDate 获取该月第一天的星期名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16980938/

相关文章:

objective-c - 在 Objective-C(测试)代码中导入框架的 Swift 类

objective-c - XCode 4 if (self = [super init]) 问题

ios - cocoa touch 类和普通 swift 类有什么区别?

java - 如何在不使用已弃用的方法的情况下从 Date 对象获取年份?

python - Pandas 的日期时间默认为 1970

date - iOS 5 - 将 UIDatePicker 最小日期设置为 "today"

string - Xcode 字符串搜索算法

ios - Apple Music 的 MPMediaItemPropertyArtwork 为空

cocoa - 清除 NSImage 的 Alpha channel

objective-c - NSTableView 与窗口右侧对齐?