【发布时间】:2016-07-19 11:24:14
【问题描述】:
假设当前的当地时间是15:11 UTC。我从服务器中检索了一个数据集,该数据集显示了一个业务的开始关闭时间,如下所示:
{
close = {
day = 3;
time = 0200;
};
open = {
day = 2;
time = 1700;
};
我还收到一个 utc-offset 属性,如下所示:"utc_offset" = "-420”; 我想这是一个分钟偏移量,给出一个 7 小时的小时偏移量,考虑到我所在的时区是 UTC 和营业地点的营业时间,这似乎是正确的我收到的信息是针对洛杉矶一家落后 7 小时的企业。
我如何使用此属性以便能够对其进行任何时间计算 我想确定当前本地时间是否介于我已经计算出的打开和关闭时间之间,但是考虑到时间比较是在本地时区完成的,当它需要在计算该时间范围之前进行偏移时,计算结果是错误的.
我试图避免做类似的事情
伪代码:
NSDate.date hour componenent + (UTC_offset / 60 = -7 hours)
更新: 以下是我目前检查商家是否正在营业的方式
if currentArmyTime.compare(String(openInfo.time)) != .OrderedAscending && currentArmyTime.compare(String(closeInfo.time)) != .OrderedDescending {
//The business is open right now, though this will not take into consideration the business's time zone offset.
}
偏移当前时间更容易吗?
【问题讨论】:
-
使用NSDateFormatter解析时间,包括时区
-
我并不完全清楚你想要什么。很难想象您实际上将UTC作为当地时间,您更有可能在BST?您想在 BST 和 PDT 之间进行转换吗?或者这只是关于解析?您是否阅读了calendar calculations 上的相关 Apple 文档?
-
如果您是 UTC,则洛杉矶落后 8 小时。只是说。
-
我认为你们是对的,我可能引用了设备所在的错误时区。
-
@hnh 如问题所示,我想渲染一个时间被给定的整数值偏移。该死的,我本可以仅用这句话来浓缩整个问题。 :D