javascript - 转换 Javascript 日期时出现问题

标签 javascript datetime

我有一个字符串“2014-01-27”。现在如何将其转换为“2014-01-27T00:00:00.0000000”? 这是 JavaScript 中有效的日期格式吗?

最佳答案

"2014-01-27T00:00:00.0000000" ? Is that a valid date format avail in javascript ?

是的,但是……

ECMA-262 says如果类似 ISO 8601 的字符串缺少时区(例如 2014-01-27T00:00:00.0000000),则假定为 UTC。但是,如果您将这样的字符串传递给 Date.parse,某些浏览器会将其视为本地浏览器,有些浏览器会将其视为 UTC(有些浏览器,如 IE 8,根本不会解析它,即使有时区)。

为避免这种情况,请手动解析字符串并创建 UTC 日期:

function parseYMDasUTC(s) {
  var b = s.split(/\D/);
  return new Date(Date.UTC(b[0],--b[1],b[2]));
}

console.log(parseYMDasUTC("2014-01-27")); // Mon Jan 27 2014 08:00:00 GMT+0800

关于javascript - 转换 Javascript 日期时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23649877/

相关文章:

样式不起作用的 Javascript 函数参数

c# - 获取特定日期

c# - 如何将 unix 时间戳转换为日期时间

python - 棉花糖根据破坏它的机器不同地处理时间戳

Firebase 的日期与时间戳

java - 在Java中将String日期转换为ISO日期格式“2019-07-01T03:50:00.000Z”

javascript - 确定 snap-scroll 元素的 snap 滚动事件是否完成

javascript - jQuery 管理表格数据

javascript - 简单的 React Redux 入门包 |发电机

JavaScript。如何从字符串中提取 URI 编码的电子邮件?