【问题标题】:Convert string to date format using javascript使用javascript将字符串转换为日期格式
【发布时间】:2017-08-20 13:55:43
【问题描述】:

我有一个字符串值,我需要使用 javascript 将该字符串值转换为以下日期格式。

var strDate = "2016-11-20";

预计输出为:2016 年 11 月 20 日

我该如何更改?

【问题讨论】:

标签: javascript date


【解决方案1】:

javascript 有丰富的日期函数例如:

新日期();

新日期(值);

新日期(日期字符串);

new Date(年, 月[, 日期[, 小时[, 分钟[, 秒[, 毫秒]]]]]);

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

这里也已经回答了: Converting string to date in js

I have a UTC string and I want to convert it to UTC Date Object in JavaScript

我们可以将此问题标记为重复

【讨论】:

  • 如果它是重复的,请标记它,尽管我不同意你标记的那个。重新格式化 string 有很多重复项。请不要发布 cmets 作为答案。
【解决方案2】:

以下是一个小解决方法,但如果您必须大量操作日期,我强烈建议您使用 Moment.js 库:

https://momentjs.com/

var strDate = "2016-11-20";
var utcDate = new Date(strDate).toUTCString();
var convertedDate= utcDate.substring(utcDate.lastIndexOf(", ") + 1, utcDate.lastIndexOf(" 00:"));
console.log(convertedDate.trim().replace(/\s/g, '-'));

请注意,此方法的实现可能会因平台而异。这里来自官方文档:

toUTCString() 返回的值是一个人类可读的字符串 UTC 时区。返回值的格式可能会有所不同 该平台。最常见的返回值是 RFC-1123 格式 日期戳,它是 RFC-822 日期的略微更新版本 邮票。

【讨论】:

  • 但其显示日期为 2016 年 11 月 20 日,但预期为 2016 年 11 月 20 日
  • toUTCString 依赖于实现,它不一定返回所需格式的字符串。
  • @RobG 感谢您指出这一点。完全正确。更新了答案以解释这一点。
猜你喜欢
  • 1970-01-01
  • 2019-06-16
  • 2013-12-28
  • 2014-08-10
  • 1970-01-01
  • 2014-01-18
  • 2019-10-13
相关资源
最近更新 更多