【问题标题】:iOS SWIFT and Parse getting date and timeiOS SWIFT 和 Parse 获取日期和时间
【发布时间】: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


【解决方案1】:

解析服务器时间始终设置为 UTC。编写一个简单的云函数来返回当前日期和时间,即 UTC。比如:

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

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

});

您需要先将 Cloud 函数部署到 Parse 服务器,然后才能在 iOS 应用中使用它。按照云代码指南的Getting Started 部分在 Parse 上部署您的云代码。

在 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.
     }
}

【讨论】:

  • 现在我们来了!如何使用 swift 实现它以使用 Parse 服务器的日期设置变量?你能给我一个云代码+快速调用的例子吗?谢谢
  • 你需要部署你的云代码来解析和调用你的函数,就像我上面描述的那样。
  • 太棒了!今晚我试试看!
猜你喜欢
  • 2018-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-01
相关资源
最近更新 更多