V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LeanCloud
LeanCloud
amoblin
V2EX  ›  LeanCloud

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

  •  
  •   amoblin · 2014-07-25 19:16:21 +08:00 · 3220 次点击
    这是一个创建于 3784 天前的主题,其中的信息可能已经有所发展或是发生改变。
    AVOS导入JSON数据中的时间格式要求为"2012-07-11T20:56:12.347Z",使用momento.js没有找到如何格式化出这样的字符串啊?

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

    导入AVOS后被识别成了String :(
    第 1 条附言  ·  2014-07-26 06:26:38 +08:00
    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 条回复    2014-07-26 06:13:27 +08:00
    larvata
        1
    larvata  
       2014-07-25 23:10:57 +08:00   ❤️ 1
    用js原生的date对象的toISOString()方法
    moment()._d.toISOString()

    或者自己写format字符串让moment输出
    jsonline
        2
    jsonline  
       2014-07-25 23:20:03 +08:00
    bcxx
        3
    bcxx  
       2014-07-25 23:24:58 +08:00
    貌似要手动把后面的 +08:00 给去掉,可以参考 ISO8601 的 format 格式来写一个。
    jsonline
        4
    jsonline  
       2014-07-25 23:42:05 +08:00 via Android
    Z 和 +8 都是时区,怎么能去掉
    leecade
        5
    leecade  
       2014-07-26 00:32:49 +08:00
    (new Date).toJSON()
    yyfearth
        6
    yyfearth  
       2014-07-26 02:49:37 +08:00
    @leecade toJSON
    yyfearth
        7
    yyfearth  
       2014-07-26 02:50:00 +08:00
    @leecade toJSON 目前就是调用了 toISOString 来着
    amoblin
        8
    amoblin  
    OP
       2014-07-26 06:13:27 +08:00
    @larvata 谢谢,正是这个 moment()._d.toISOString()
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1191 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:10 · PVG 07:10 · LAX 15:10 · JFK 18:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.