使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串

Convert client date / time string to JSON date / time string using JavaScript

本文关键字:时间 日期 JSON 转换 字符串 使用 JavaScript 客户端      更新时间:2023-09-26

我正在尝试使用JavaScript和moment(用于Django REST API后端)将表单上的客户端日期/时间字符串转换为JSON日期/时间串。以下是我目前所拥有的:

document.getElementById("dt_tm").value = 
moment(document.getElementById("inp-st").value, "DD/MM/YYYY HH:mm").toJSON();

有两个问题:

  1. 日期格式不能被硬编码,因为客户端可能具有不同的日期格式
  2. moment调整日期/时间,我不需要它,因为后端执行该功能(使用Django时区)

例如:

moment("14/05/2016 18:00", "DD/MM/YYYY HH:mm").toJSON() =
"2016-05-14T17:00:00.000Z"

当我需要的是:

"2016-05-14T18:00"

(在本例中,我的时区当前为GMT+1。)

如果希望toJSON以不同的格式返回日期,请将moment.fn.toJSON重新定义为使用自定义格式而不是默认的ISO8601日期格式返回。文件中对此进行了概述。

moment.fn.toJSON = function() { 
    return this.format("YYYY-MM-DDTHH:mmZ"); 
};