【发布时间】:2016-02-07 16:00:10
【问题描述】:
使用 Swift 和 Parse,我需要获得一个独立于设备设置(UTC 通用日期)的日期和时间。 NSDate() 完美运行,但如果用户在设备设置中更改时区或时间或日期,则控制功能将变得无用。 基本上我必须检查一个用户每天最多可以向 Parse 数据库发送 1 张照片。 目前为此,我搜索 CurrentUser 发送的最后 1 张照片,然后运行控制: 如果 objectPhoto1 日期 == NSDate {blah blah bla...
问题是 NSDate 取决于设备的设置,所以如果用户更改日期可能会发送无限的照片。
有没有办法从 Parse 服务器或 Apple 服务器或其他东西获取当前日期?
我认为这很愚蠢,但它正在成为一场噩梦!
也许我没有解释,我没有要发布的代码,因为如果我不能有一个正确的日期和时间,这个功能就不能存在。 实际例子:
// my iPhone current date and time (correct time) >> 10/12/2015 16:42:18
let TimeNow = NSDate()
print(TimeNow) // show "10/12/2015 16:42:18"
如果我更改日期 iPhone 设置
// now my iPhone date and time are (incorrect time) >> 01/01/2002 15:30:26
let TimeNow = NSDate()
print(TimeNow) // show "01/01/2002 15:30:26"
现在我的日期和时间是错误的。我需要在设备的设置中设置一个包含当前时间戳的变量。
【问题讨论】:
-
NSDate 工作正常。您的时区依赖性来自哪里?在格式化还是在解析中?请显示您的一些代码。
-
NSDate 使用设备日期和时间。如果我更改 iPhone 中的日期和时间,应用程序内的 NSDate 将采用该值。所以我不能依赖这个,但我必须使用用户无法以任何方式更改的时间戳。
-
NSDate 不使用任何时区。它的时间值通过其输入和输出方法本地化。如果需要,可以将那些像 NSDateFormater 设置为 UTC 时间。如果您不共享一些代码,那么您就不会得到更好的分析器。
-
我编辑了我的问题
-
答,现在我明白了。了解共享代码示例的好处和帮助。您需要的是 NTP 服务。有关详细信息,请参阅de.wikipedia.org/wiki/Network_Time_Protocol。有可用的免费服务器,但我不知道任何个人经验。我不知道 Apple 是否会运行一个。
标签: swift date parse-platform timestamp nsdate