gpt4 book ai didi

cocoa - 从 NSDate 中剥离时间

转载 作者:行者123 更新时间:2023-12-03 16:18:00 24 4
gpt4 key购买 nike

我见过以下代码的许多版本,用于从 NSDate 中删除时间元素。

NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *now = [NSDate date];
unsigned int intFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *components = [cal components:intFlags fromDate:now];

NSDate *today = [cal dateFromComponents:components];

问题是它没有按预期工作。我目前正处于英国夏令时 (BST)。如果我现在运行此代码,now=@"2012-07-07 19:24:06 +0000"

今天=@"2012-07-06 23:00:00 +0000"

我想看到的是今天=@"2012-07-07 00:00:00 +0000"

我只能猜测这与夏令时有关。有什么想法吗?

最佳答案

您将获得 BST 午夜(即 GMT+1 小时),与 23:00 GMT (+0000) 相同。

[NSDate date] 将返回当前时区的日期,因此您的日期采用 BST。您是否也尝试过将时区设置为 GMT:

[components setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

关于cocoa - 从 NSDate 中剥离时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11378027/

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