是否可以将dd/mm/yyyy
格式的日期输入newDate
(例如03/01/2018),以便它返回对象Wed Jan 03 2018 00:00:00 GMT+0000 (Greenwich Mean Time) {}
?
如果我有一个日期03/01/2018
,它将返回Thu Mar 01 2018 00:00:00 GMT+0000 (Greenwich Mean Time) {}
……我不是在尝试传递mm/dd/yyyy
格式。.
我看了很多关于此的帖子,找不到我的问题的答案。
答案 0 :(得分:2)
您无法控制Date构造函数,因此需要以所需的格式为其提供日期。由于您是自己格式化日期,因此最好使用其他Date构造函数,该构造函数以year,monthIndex和day作为参数,因为在不同的浏览器和运行时中,它更具防弹性:
function my_date(date_string) {
var date_components = date_string.split("/");
var day = date_components[0];
var month = date_components[1];
var year = date_components[2];
return new Date(year, month - 1, day);
}
console.log(my_date("03/01/2018"));
在日期的情况下,我几乎在我创建的每个JavaScript项目上都安装了moment
库。
注意:代码段显示的结果可能有所不同;检查您的控制台。
答案 1 :(得分:0)
您可以像这样使用正则表达式:
var date = new Date("03-01-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3"))
答案 2 :(得分:0)
我建议您使用http://momentjs.com/中的momentjs。使用它可以很容易地输出您想要的任何格式。
moment().format('MMMM Do YYYY, h:mm:ss a'); // June 28th 2018, 10:30:09 pm
moment().format('dddd'); // Thursday
moment().format("MMM Do YY"); // Jun 28th 18
moment().format('YYYY [escaped] YYYY'); // 2018 escaped 2018
moment().format();