【问题标题】:Rails date to NSDateRails 日期到 NSDate
【发布时间】:2015-01-04 08:37:06
【问题描述】:

我正在尝试将日期从 rails api 转换为 NSDate 对象。 api 的回复日期是2014-11-05T16:29:09.614Z .614Z 是什么意思?

【问题讨论】:

    标签: ios ruby-on-rails api date


    【解决方案1】:

    Z 前面的 int 是毫秒,Z 代表 Zulu 是时区:

    来自http://en.wikipedia.org/wiki/Coordinated_Universal_Time

    UTC 时区有时用字母 Z 表示——参考 等效的航海时区 (GMT),用 Z 表示 大约从 1950 年开始。这封信还提到了 零时,自 1920 年以来一直使用(参见时区历史)。 由于 Z 的 NATO 语音字母和业余无线电词是 “祖鲁”,UTC 有时也称为祖鲁时间。

    因此你的时间格式是:

    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
    

    如果您在上面的示例中包含Z,则日期将正确转换为设备的当前时区。

    【讨论】:

    • 谢谢。如何从此日期(日、月、年)获取日期组件?此对象的 NSObject 描述类方法是有效值(返回 2014-11-05 16:29:09 +0000)但组件返回 0。
    • 使用 create NSDateFormatter 更改真正 NSDate 中的日期字符串,然后使用 NSDateComponents 获取您需要的特定日期组件。
    • 我创建了 NSDate 类别:+ (NSDate*)dateFromApi:(NSString*)date { NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"]; return [formatter dateFromString:date]; },但组件返回 0。
    • 您可能想发布一个关于此的新问题,但通常检查您方法返回的日期是否不是nil
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多