【问题标题】:Find next Friday at 5pm from one time zone to another查找下周五下午 5 点从一个时区到另一个时区
【发布时间】:2012-04-21 22:12:27
【问题描述】:

我有一个 NSDate 与 NZDT 时区,我需要在 EST 时区找到下周五。我已经搜索并使用NSDateComponents 生成日期,但时区更改让我很困惑。

如果我将 3 天添加到 setWeekday 并且现在是星期二,那么它是星期四 EST 和星期五 NZDT。当美国东部标准时间星期二到达 00:00:00 时,时间是正确的。在美国东部标准时间 00:00:00 之前,该时间是休息日。

我想知道我是否遗漏了一些明显的东西。

【问题讨论】:

  • 经过大量研究后,我认为我应该将所有时间转换为 GMT 进行计算。多一点代码,但看起来不那么令人头疼。除了转换为 GMT 之外,如果有人有任何想法,我仍然会很好奇。

标签: iphone nsdate nsdatecomponents nstimezone


【解决方案1】:

正如您所怀疑的,使用 GMT 可以简化事情。

但您的问题并不清楚您要查找的“下周五”是谁。如果下周五是NZDT,那么流程是:

  • 从你的约会开始
  • 提前到下周五。
  • 将结果转换为 EST。

如果下周五是美国东部标准时间,那么:

  • 从你的约会开始。
  • 转换为 EST。
  • 提前到下周五。
  • (如果需要,转换回 NZDT。)

如果您要问其他问题,我深表歉意。也许一些例子会有所帮助。另一件有帮助的事情是,如果您可以发布不工作的代码(以及一些逐步执行的值)并指出您期望不同结果的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    相关资源
    最近更新 更多