iOS SWIFT和Parse获取日期和时间

Ide*_*v86 1 timestamp date nsdate parse-platform swift

使用Swift和Parse,我需要获得与设备设置无关的日期和时间(UTC通用日期).NSDate()工作正常,但如果用户在设备设置中更改时区或时间或日期,则控制功能变得无用.基本上我必须检查一个用户每天最多可以向Parse数据库发送1张照片.目前要执行此操作,我搜索CurrentUser发送的最后1张照片,然后运行控件:if objectPhoto1 dates == 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"
Run Code Online (Sandbox Code Playgroud)

如果我改变我的日期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"
Run Code Online (Sandbox Code Playgroud)

现在我的日期和时间都错了.我需要设置一个变量,其中包含设备设置的当前时间戳REGARDLESS.

Mo *_*emi 5

解析服务器时间始终设置为UTC.编写一个简单的云函数,返回当前日期和UTC时间.就像是:

Parse.Cloud.define("getUTCDate", function(request, response) {

     var now = new Date();
     response.success(now);

});
Run Code Online (Sandbox Code Playgroud)

在iOS应用程序中使用之前,您需要将Cloud功能部署到Parse服务器.按照Cloud Code指南的入门部分在Parse上部署您的Cloud代码.

在Parse服务器上部署云功能后,您可以使用Swift从iOS调用此函数,如下所示:

PFCloud.callFunctionInBackground("getUTCDate", withParameters: nil) { results, error in
      if error != nil {
          // Your error handling here
      } else {
          // Deal with your results (Date in your case) here.
     }
}
Run Code Online (Sandbox Code Playgroud)