【问题标题】:100+ dates in different timezones, calculate which 2 dates present day is between...more calculate不同时区的 100 多个日期,计算当前日期之间的 2 个日期...更多计算
【发布时间】:2012-03-03 06:43:42
【问题描述】:

我真的很想弄清楚我应该用哪种方式来做这件事。编写 Objective-c 代码已经 4 个月了,至少在尝试。

我有大约 100 多个不同的日期,跨越 2012 年,直到第二个,在多个时区。我需要的是:

  • 要获取当前时间/日期,请查看我的 100+ 列表中的哪两个日期之间,并告诉我花费的时间和剩余时间。
  • 无论用户在哪个时区,都可以知道这两个日期之间的时间。
  • 所有计算都需要考虑夏令时。 DST 更改的日期和时间因时区和国家/地区而异。
  • 夏威夷的用户将拥有与英格兰用户相同的剩余时间。
  • 能够将所有时间转换为本地用户时间。
  • 这一切都是实时的。让时钟或计时器倒计时到秒。

我已经尝试过 NSDate。然后我搜索了这个网站,发现了 NSDateFormatter。我玩了几天。然后再次搜索我找到了 NSDateComponents。我是否将 100 多个日期放在一个多维数组中。我是先将所有内容都转换为 GMT 还是 xcode 可以为我做。还是自 1970 年以来我每次都将其转换为秒。我只是迷失了最佳最实用的方法。

任何帮助,非常感谢!

【问题讨论】:

    标签: ios5 xcode4.2 nsdate nsdateformatter nsdatecomponents


    【解决方案1】:

    我不是 iOS 程序员,但如果您可以将所有内容都转换为相同的时区(MST、EST、GMT 等等),那么您的工作就会轻松得多。时区之间的转换以恒定的时间运行,因为没有什么比简单的加法/减法更复杂的了。

    对于 DST,如果您转换为 MST 或 EST(而不是 MDT 或 EDT),则本质上会删除 DST。 “考虑到夏令时”到底是什么意思?如果你能提供,我可以提供更多帮助。

    【讨论】:

    • 纽约 DST 是:开始:3 月 11 日星期日凌晨 2:00 结束:11 月 4 日星期日凌晨 2:00 伦敦 DST 是:开始:3 月 25 日星期日凌晨 1:00结束:10 月 28 日星期日凌晨 2:00 如果一个日期是纽约,另一个是伦敦,通过将它们转换为 GMT,我是否会丢失 DST 在该国开始和停止的日期?例如:如果一个日期是美国东部标准时间 3 月 10 日下午 3:00,另一个是英国夏令时 3 月 28 日下午 5:00,则 EDT 仍然是白天,但 EST 不是。根据用户所在的位置,纽约用户和英国用户所花费的时间和剩余时间是否相同?
    猜你喜欢
    • 2016-06-22
    • 2013-03-30
    • 1970-01-01
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    相关资源
    最近更新 更多