gpt4 book ai didi

ios - 如何将 NSDate 的秒数设置为零

转载 作者:技术小花猫 更新时间:2023-10-29 10:06:59 24 4
gpt4 key购买 nike

我正在尝试从 UIDatePicker 获取 NSDate,但它不断返回我一个尾随 20 秒的日期时间。如何手动将 NSDate 的秒设置为零?

最佳答案

NSDate 是不可变的,所以你不能修改它的时间。但是您可以创建一个新的日期对象来捕捉到最近的分钟:

NSTimeInterval time = floor([date timeIntervalSinceReferenceDate] / 60.0) * 60.0;
NSDate *minute = [NSDate dateWithTimeIntervalSinceReferenceDate:time];

编辑以回答 Uli 的评论

NSDate 的引用日期是 2001 年 1 月 1 日 0:00 GMT。从那以后添加了两个闰秒:2005 年和 2010 年,因此 [NSDate timeIntervalSinceReferenceDate] 返回的值应该相差两秒。

事实并非如此:timeIntervalSinceReferenceDate 与墙上时间完全同步。

在回答这个问题时,我没有确定这是真的。我只是假设 Mac OS 会 behave as UNIX time (1970 纪元)确实如此:POSIX 保证每一天都以 86,400 秒的倍数开始。

查看从 NSDate 返回的值,这个假设似乎是正确的,但找到一个明确的(记录的)声明肯定会很好。

关于ios - 如何将 NSDate 的秒数设置为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1525825/

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