【问题标题】:How to convert EDAMTimestamp to NSDate with Evernote Cloud SDK for iOS如何使用 Evernote Cloud SDK for iOS 将 EDAMTimestamp 转换为 NSDate
【发布时间】:2016-06-09 10:25:55
【问题描述】:

我试用了适用于 iOS 的 Evernote Cloud SDK 2.0.6。当我从 Evernote 服务获取 EDAMSyncChunk 和便笺数据时,在 EDAMNote 实例中创建(以及更新和删除)属性为 NSNumber 类型具有以下值,例如:

  • 1350039844000
  • 765020000

前者似乎是毫秒的 UNIX 时间,所以我可以将值转换为 NSDate 对象,得到“2012-10-12 20:04:04”(JST)。

然而,后者似乎不是正确的 UNIX 时间,因为无论删除最后三位数字,该值都无法转换为可接受的时间:

  • 765020000 ---> "1994-03-30 18:33:20" (JST)
  • 765020 ---> "1970-01-10 05:30:20" (JST)

如何从后一种情况中获得正确的时间? (我怀疑“765020000”是由 32 位环境中的“xxxx765020000”之类的结果引起的,尽管我现在无法检查环境......抱歉)

请帮忙。 谢谢。

【问题讨论】:

  • 我不知道,但你可以总结它们。你得到一个不同的日期。我不知道这意味着什么(最后更新日期?),但在你的例子中,它给出了似乎是一个有效的日期。
  • 感谢您的评论。在“765020000”的情况下,真正的票据数据是在几年内创建的,因此“created”属性似乎与前一种情况(1350039844000)一样。但我得到“765020000”,转换时间“1994-03-30 18:33:20”(JST)显然不正确。
  • (1350039844000) => 2012-10-12T11:04:04+00:00(创建日期)和(1350039844000 + 765020000) => 2012-10-21T07:34:24+00:00(上传或上次更新日期)?这只是猜测,我不使用 Evernote,我对你的案例和 SDK 不熟悉。
  • 对不起,“1350039844000”是从note A的“created”属性派生的,“765020000”是从note B派生的,所以我认为这个属性在某些情况下可能会错过当前的创建日期,例如“ 765020000”。谢谢。

标签: ios swift sdk evernote


【解决方案1】:

在我的项目中,我得到了这样的工作方式(迅速):

let date = NSDate(EDAMTimestamp: note.created.longLongValue)

【讨论】:

    猜你喜欢
    • 2014-12-10
    • 2015-08-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 2012-07-08
    • 2020-01-09
    • 1970-01-01
    • 2010-12-19
    相关资源
    最近更新 更多