gpt4 book ai didi

ios - NSDateComponents 在模拟器上运行

转载 作者:行者123 更新时间:2023-11-28 23:07:32 25 4
gpt4 key购买 nike

我有以下代码。当我在我的 iOS 3.1.3 设备上运行它时(克服它!)它按预期工作,但是当我在模拟器(iOS 5 和 4.3)上运行它时它会关闭 1 分 15 秒(9:01:15 ).这是因为我的代码、模拟器中的错误还是 iOS 4+ 中的错误?

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [calendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:[NSDate date]];
components.hour = 9;
components.minute = 0;
NSDate *date = [calendar dateFromComponents:components]; // <-- date is off on simulator

感谢您的帮助!

最佳答案

我不完全理解为什么会这样,但是当您使用 dateFromComponents: 创建很久以前的日期时会发生这种情况。具体来说,截止日期似乎是 1847 年 12 月 1 日。当天凌晨 12 点之前的任何事情似乎最终都是 1休息 15 秒。

在您的情况下,发生这种情况是因为如果您仅设置 components.hourcomponents.minute,您将获得公元 1 月 1 日的日期。

如果您将年、月和日期设置为较新的日期,如下所示:

components.year = 2012;
components.month = 2;
components.day = 6;

然后你会得到正确的输出(我在 iOS 模拟器中得到的):

2012-02-06 09:00:00 +0000

关于ios - NSDateComponents 在模拟器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9070856/

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