gpt4 book ai didi

iphone - 为什么此代码显示的日期是 SAT,而在 NSDateComponent setWeekday 中我使用 1 表示 SUN?

转载 作者:行者123 更新时间:2023-11-29 05:05:28 24 4
gpt4 key购买 nike

为什么此代码显示的日期是 SAT,而在 NSDateComponent 和 setWeekday 中我使用 1 表示 SUN?

// Set Day
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setWeekday:1];
[comps setHour:13];
[comps setMinute:30];

NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *tempDate = [gregorian dateFromComponents:comps];

NSDateFormatter *format = [[[NSDateFormatter alloc] init] autorelease];
[format setDateFormat:@"EEE HH:mm"];
NSString *s = [format stringFromDate:tempDate];
NSLog(@"Finishing : %@", s);

// Gave => 2011-04-05 09:50:28.467 test1[39840:207] Finishing : Sat 13:30

最佳答案

仅设置工作日、小时和分钟的 NSDateComponents 显然会给出 1 年的日期。由于这是在儒略历/公历转换之前很久,因此在某些地方,您最终会得到奇怪的结果方法以提前公历解释日期,而其他方法则以儒略历解释日期。

当我尝试使用更详细的日期格式的代码时,我得到Sat 0001-01-01 13:30:00 -045602。在组件上使用 setYear: 后尝试一下,您将获得合理的结果。

关于iphone - 为什么此代码显示的日期是 SAT,而在 NSDateComponent setWeekday 中我使用 1 表示 SUN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5545660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com