gpt4 book ai didi

objective-c - dateFromComponents : 的意外结果

转载 作者:行者123 更新时间:2023-12-04 03:20:59 25 4
gpt4 key购买 nike

下面的代码

NSCalendar *cal = [NSCalendar currentCalendar];
[cal setFirstWeekday:2];
[cal setMinimumDaysInFirstWeek:4];

NSDateComponents *comp = [[NSDateComponents alloc] init];
[comp setYear: 2012];
[comp setMonth:3];
[comp setDay: 12];
NSDate *date = [cal dateFromComponents:comp];
NSLog(@"date:%@",date);

日志:

date:2012-03-11 23:00:00 +0000

任何想法,为什么会发生这种情况以及如何避免发送

最佳答案

我假设您在本地使用 CET 时区。这就是 [NSCalendar currentCalendar] 将用作时区的内容。

当您使用 NSLog 转储 NSDate 时,您将获得原始 UTC 格式的日期。要使用本地格式打印日期,请查看 NSDateFormatter 类,它有一个 timeZone 属性:

....
NSDate *date = [cal dateFromComponents:comp];
NSDateFormatter* fmt = [[NSDateFormatter alloc] init];
fmt.timeZone = [NSTimeZone defaultTimeZone]; // Probably not required
NSLog(@"date:%@", [fmt stringFromDate:date]);

关于objective-c - dateFromComponents : 的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9751249/

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