【问题标题】:Parsing ISO 8601 dates解析 ISO 8601 日期
【发布时间】:2013-05-14 17:58:41
【问题描述】:

这听起来可能很简单,但我很难找到解决方案。我有一个简单的 ajax 调用,它返回一个 JSON 对象:

{"d":"{\"fID\":57,\"headerPhotoPath\":\"img/image.jpg\",\"CreatedDate\":\"2013-05-16T10:18:10.183\",\"UpdatedDate\":\"2013-05-20T09:26:26.18\",\"isActive\":true,\"isVisible\":true,\"ContentsOrderedBy\":\"NewsUpdatedDateDesc\",\"FolderName\":\"Kemal\u0027s File\",\"FolderDescription\":\"folderdesc\",\"ReadCount\":0,\"ContentCount\":3}"}

如您所见,返回的日期采用 ISO 8601 格式,输出格式为 YYYY-MM-DDThh:mm:ss.s

我通过 jQuery 检索这个 JSON,如下所示; (为了简单起见,我省略了明显的)

success: function (msg) {
var fd = JSON.parse(msg.d);
    $('#img').attr('src', '../' + fd.headerPhotoPath)
    $('#fDesc').html(fd.FolderDescription);
    $('#fCreated').html(fd.CreatedDate);
    $('#fUpdated').html(fd.UpdatedDate);
    $('#fIsActive').html(convertTrueFalse(fd.isActive));
    $('#fIsVisible').html(convertTrueFalse(fd.isVisible));
    $('#fReadCount').html(fd.ReadCount);
}

如何解析我已经解析的 JSON 对象,以“dd/MM/yyyy”格式或任何其他正确可读的格式输出日期?

【问题讨论】:

  • 不是解决方案,而是替代方案:datejs.com - 我认为秒上的小数点不是有效的 ISO8601。
  • 你可以看看momentjs,一个非常方便的用于解析和操作日期的库momentjs.com

标签: javascript jquery asp.net iso8601


【解决方案1】:

似乎 GitHub 上的 Colin Snover (csnover) 创建了一个函数,可以为您解析 iso8601 日期。查看js-iso8601 存储库中的this function

从那里,该函数将返回一个javascript date object,您可以使用date() 函数以您喜欢的任何格式写出它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-17
    • 2021-01-17
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多