【问题标题】:IOS/Objective-C: Send date to server using JSONIOS/Objective-C:使用 JSON 向服务器发送日期
【发布时间】:2015-11-08 14:01:29
【问题描述】:

我想使用 JSON 将日期/时间(用于事件日历)发送到服务器。一旦在服务器上,我希望它是在发件人的当地时间。

由于 JSONSerialization 不支持日期对象,我一直在发送 Unix 时间戳。问题是一旦在这种形式中,有关用户时区的信息似乎丢失了。

有没有办法调整 unix 时间戳以反映用户的时区。或者任何人都可以提出更好的 NSJsonserialize 日期的方法吗?

下面的代码会生成一个 unix 时间戳,但我想将其保存在服务器上,例如 2015-10-26 18:49:37

NSDate *date = self.datePicker.date;
CFTimeInterval startDate = [date timeIntervalSince1970] * 1000;
NSString *dateStarted = [NSString stringWithFormat:@"/Date(%.0f+0800)/", startDate]; 

【问题讨论】:

  • 在序列化时间戳之前,添加或减去从本地时间到 UTC(不是 GMT)的偏移量。

标签: ios objective-c date nsjsonserialization


【解决方案1】:

我会考虑使用完整的 ISO 8601 语法,其中包含来自 UTC 时间戳的本地时间偏移量。

2015-11-04T09:20:22+00:00

从 NSDate 获取 ISO-8601 日期和时间戳非常简单,但如果这对您来说是全新的,您可能需要查看库以获取提示。

https://github.com/clearbrian/NSDateFormatter_ISO_8601

【讨论】:

猜你喜欢
  • 2012-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-15
相关资源
最近更新 更多