当前位置: 首页 > 面试题库 >

如何计算两个日期之间的差额?

萧胜
2023-03-14
问题内容

如何计算2010年1月1日至2010年2月3日之间的日期?


问题答案:
NSDate *date1 = [NSDate dateWithString:@"2010-01-01 00:00:00 +0000"];
NSDate *date2 = [NSDate dateWithString:@"2010-02-03 00:00:00 +0000"];

NSTimeInterval secondsBetween = [date2 timeIntervalSinceDate:date1];

int numberOfDays = secondsBetween / 86400;

NSLog(@"There are %d days in between the two dates.", numberOfDays);

编辑:

请记住,NSDate对象表示确切的时刻,它们没有任何关联的时区信息。当您使用例如一个字符串转换为日期NSDateFormatter时,NSDateFormatter配置的时区的时间转换。因此,两个NSDate对象之间的秒数
始终 是时区不可知的。

此外,本文档还指定可可的时间实现方式不包含leap秒,因此,如果您需要这种准确性,则需要滚动自己的实现方式。



 类似资料:
  • 问题内容: 我在Scala中使用Java的类,想比较一个对象和当前时间。我知道我可以使用getTime()计算增量: 但是,这仅代表我几毫秒。有没有更简单,更好的方法来获取时间增量? 问题答案: 不幸的是,JDK API严重损坏。我建议使用Joda时间库。 Joda Time具有时间间隔的概念: 编辑:顺便说一句,乔达有两个概念:用于表示两个时刻之间的时间间隔(表示上午8点至上午10点之间的时间)

  • 问题内容: 我有两个日期格式: 现在,我需要以以下形式查找这两者之间的区别: 如何在PHP中做到这一点? 问题答案: 将此用于旧代码(PHP <5.3)。有关最新解决方案,请参见下面的jurka答案 您可以使用strtotime()将两个日期转换为Unix时间,然后计算它们之间的秒数。由此很容易计算出不同的时间段。 编辑: 显然,执行此操作的首选方法如下面的jurka所述。通常,仅当您没有PHP

  • 问题内容: 我正在使用ES,并且我需要一个查询,该查询返回两个datetime(mysql timediff)之间的差,但是还没有找到ES的任何功能来做到这一点。有人可以帮助我吗? MySQL查询 谢谢! 问题答案: 最好的是脚本字段。如果您已启用动态脚本并且这些日期字段在映射中定义为日期,则上述搜索查询应该可以正常工作。 请注意,您将获得epoch的结果,您需要将其转换为面额。 您可以在此处阅读

  • 问题内容: 我在-type字段中将上次登录时间存储在MySQL中。当用户登录时,我想获取上次登录时间与当前时间(我使用)之间的时差。 我该如何计算? 问题答案: 使用MySQL函数。例如,您可以使用: 在您的情况下,函数的第三个参数将是当前登录时间()。第二个参数是上次登录时间,该时间已在数据库中。

  • 问题内容: 我已经看到了许多方法,如何根据特定的日期组件(例如,天,小时,月等)来计算两个日期之间的差异 我还没有看到的是如何使用实际Date对象进行计算。就像是 我已经看到了 iOS 10中引入的类型,但是根据文档DateInterval [it]不支持反向间隔,即持续时间小于0且结束日期在时间上早于开始日期的间隔。 这样就很难计算日期,尤其是当您不知道哪个是较早的日期时。 是否有任何干净整洁的

  • 问题内容: 我在Scala中使用Java的类,想比较一个Date对象和当前时间。我知道我可以使用getTime()计算增量: 但是,这仅long代表我几毫秒。有没有更简单,更好的方法来获取时间增量? 问题答案: 不幸的是,JDK API严重损坏。我建议使用Joda时间库。 Joda Time具有时间间隔的概念: 编辑:顺便说一句,乔达有两个概念:用于表示两个时刻之间的时间间隔(表示上午8点至上午1