[英]How can I convert a short date to a long date in Javascript?
我需要将04/06/13 (例如)转换为长日期- 2013年6月4日星期二00:00:00 GMT + 0100(BST) 。 如何使用Javascript执行此操作? 我知道如何将长日期转换为短日期-而不是相反。
您可以尝试使用Date
构造 函数的解析功能 ,然后可以将其结果字符串化 :
> new Date("04/06/13").toString()
"Sun Apr 06 1913 00:00:00 GMT+0200" // or something
但是解析是依赖于实现的,并且不会有很多引擎能够正确解释您的奇数DD/MM/YY
格式。 如果您使用MM/DD/YYYY
,那么它可能会在任何地方被识别。
相反,您想确保它的解析方式,因此必须自己完成并将单个部分输入构造函数中:
var parts = "04/06/13".split("/"),
date = new Date(+parts[2]+2000, parts[1]-1, +parts[0]);
console.log(date.toString()); // Tue Jun 04 2013 00:00:00 GMT+0200
拆分方法的替代方法是使用lastIndexof和slice,将年份更改为ISO8601格式,然后提供一个已知可跨浏览器使用的非标准字符串,然后使用日期解析方法 。 (假设有问题的固定模式)
然而,
如果要确保它的解析方式,则必须自己完成并将单个部分输入到构造函数中:
,这意味着使用split方法, 请参见@Bergi answer 。
var string = "04/06/13",
index = string.lastIndexOf("/") + 1,
date = new Date(string.slice(0, index) + (2000 + parseInt(string.slice(index), 10)));
console.log(date);
输出量
Sat Apr 06 2013 00:00:00 GMT+0200 (CEST)
或其他替代方法是使用moments.js
var string = "04/06/13";
console.log(moment(string, "DD/MM/YY").toString());
输出量
Sat Apr 06 2013 00:00:00 GMT+0200 (CEST)
您必须将13设置为2013,否则将默认使用1913
alert(new Date('04/06/2013'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.