new Date('dd/mm/yyyy') 而不是 newDate('mm/dd/yyyy')



是否可以在newDate中输入dd/mm/yyyy格式的日期(例如 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格式..

我已经看了很多关于这个问题的帖子,但找不到我问题的答案。

您无法控制 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库。

注意:代码段可能会以不同的方式显示结果;请检查您的主机。

你可以像这样使用正则表达式:

var date = new Date("03-01-2018".replace( /(d{2})-(d{2})-(d{4})/, "$2/$1/$3"))

我建议你使用来自 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();

最新更新