gpt4 book ai didi

ios - NSDateComponents 与 timeIntervalSince

转载 作者:行者123 更新时间:2023-11-29 02:58:38 30 4
gpt4 key购买 nike

我正在尝试计算从一个日期到另一个日期的天数,并且找到了两种计算方法。

第一个使用 NSDateComponents 如下:

NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit
fromDate:date1
toDate:date2
options:0];

然后检查[组件日]。

第二个使用timeInterval:

    NSInteger timeInterval = [date2 timeIntervalSinceDate:date1];

然后得到timeInterval/3600/24

一种方法是否比另一种更好(可能是因为 timeInterval 方法缺乏精度)?

谢谢!

最佳答案

使用 dateComponent 比通过假设 timeInterval/3600/24 自己操作要好得多。

原因:

  1. 所有日子都没有 60*60*24 秒!!!

  2. 从夏令时过渡时,一天可以有 23 或 25 小时。

The hour (common symbol: h or hr) is a unit of measurement of time. In modern usage, an hour comprises 60 minutes, or 3,600 seconds. It is approximately 1/24 of a mean solar day.

An hour in the Universal Coordinated Time (UTC) time standard can include a negative or positive leap second, and may therefore have a duration of 3,599 or 3,601 seconds for adjustment purposes.

来源:Wikipedia Hour .

关于ios - NSDateComponents 与 timeIntervalSince,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23557117/

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