gpt4 book ai didi

iPhone - 考虑夏令时的当前日期

转载 作者:行者123 更新时间:2023-12-03 18:32:20 26 4
gpt4 key购买 nike

我的国家/地区位于 GMT+0。我们现在 +1 小时,因为我们正在实行夏令时。

当我这样做的时候

[NSDate date];

它应该返回当前日期和时间,但是当我这样做时,我收到的 GMT 时间不考虑夏令时。

这是文档中关于 date 命令的说法

创建并返回设置为当前日期和时间的新日期。

苹果为什么要这样对我们?为什么一切都如此复杂?这是一个错误吗?有没有办法获取设备当前的实时开启时间?与设备时钟上显示的时间相同吗?

我的应用程序依赖于日期和时间,对于位于世界各地不同时区(夏季或冬季)的用户来说,日期错误将是一场灾难。

谢谢。

<小时/>

编辑

经过多次回答后,我尝试了这段代码:

NSDate *wrongToday = [NSDate date];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];

[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSString *currentTime = [dateFormatter wrongToday];

NSDate *today = [dateFormatter dateFromString:currentTime];

你猜怎么着,今天=错误的今天...换句话说,没有任何变化,我仍然有错误的日期,没有夏令时。更神奇的是,currentTime 在 NSString 中显示夏令时的日期...

有什么线索吗?再次感谢。

最佳答案

albertamg、MRAB 和 Joe Osborn 都是正确的。他们都试图向你解释 NSDate 是一个“数字”,“一个绝对的时间点”。

此值独立于,无论您是在伦敦、洛杉矶还是新加坡。它与您所在的县是否遵守夏令时无关。

要将 NSDate 解释为可识别的内容(例如“Th July 28, 4:28pm”),您需要一个 NSDateFormatter。您还需要确保您的区域设置正确定义:包括时区、是否遵守夏令时以及各种时间/日期格式约定。

'希望有帮助..

关于iPhone - 考虑夏令时的当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6866725/

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