V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
LeanCloud
LeanCloud
amoblin
V2EX  ›  LeanCloud

使用 momento.js 如何创建时间格式"2012-07-11T20:56:12.347Z"?

  •  
  •   amoblin · Jul 25, 2014 · 3666 views
    This topic created in 4300 days ago, the information mentioned may be changed or developed.
    AVOS导入JSON数据中的时间格式要求为"2012-07-11T20:56:12.347Z",使用momento.js没有找到如何格式化出这样的字符串啊?

    直接使用 format()格式化出来的字符串是这样的: 2014-07-13T13:45:03+08:00

    导入AVOS后被识别成了String :(
    Supplement 1  ·  Jul 26, 2014
    AVOS Cloud的bug吧:不支持自定义列使用日期格式?

    "createdAt": "2012-07-11T20:56:12.347Z",
    "updatedAt": "2012-07-11T20:56:12.347Z",
    "mtime": "2012-07-11T20:56:12.347Z",

    使用这样的3个键值对,生成的Class,前两个字端属性为Date,第三个(自定义的字段名)属性为String。

    如果手工创建一个mtime为Date的字端,导入数据会失败。
    8 replies    2014-07-26 06:13:27 +08:00
    larvata
        1
    larvata  
       Jul 25, 2014   ❤️ 1
    用js原生的date对象的toISOString()方法
    moment()._d.toISOString()

    或者自己写format字符串让moment输出
    jsonline
        2
    jsonline  
       Jul 25, 2014
    bcxx
        3
    bcxx  
       Jul 25, 2014
    貌似要手动把后面的 +08:00 给去掉,可以参考 ISO8601 的 format 格式来写一个。
    jsonline
        4
    jsonline  
       Jul 25, 2014 via Android
    Z 和 +8 都是时区,怎么能去掉
    leecade
        5
    leecade  
       Jul 26, 2014
    (new Date).toJSON()
    yyfearth
        6
    yyfearth  
       Jul 26, 2014
    @leecade toJSON
    yyfearth
        7
    yyfearth  
       Jul 26, 2014
    @leecade toJSON 目前就是调用了 toISOString 来着
    amoblin
        8
    amoblin  
    OP
       Jul 26, 2014
    @larvata 谢谢,正是这个 moment()._d.toISOString()
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1003 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 17:59 · PVG 01:59 · LAX 10:59 · JFK 13:59
    ♥ Do have faith in what you're doing.