如何格式化JavaScript日期

在JavaScript中,如何格式化日期对象以打印为10-Aug-2010

逆天西里2020/03/09 18:22:49
var today = new Date();
var formattedToday = today.toLocaleDateString() + ' ' + today.toLocaleTimeString();
Near逆天2020/03/09 18:22:49

如果您在代码中使用jQuery UI,则有一个名为的内置函数formatDate()我使用这种方式来格式化今天的日期:

var testdate = Date();
testdate = $.datepicker.formatDate( "d-M-yy",new Date(testdate));
alert(testdate);

您可以在jQuery UI文档中看到 许多其他格式化日期的示例

留姬2020/03/09 18:22:49

new Date().toLocaleDateString()

// "3/21/2018"

developer.mozilla.org上有更多文档

小宇宙神无2020/03/09 18:22:49

使用ECMAScript Edition 6(ES6 / ES2015)字符串模板:

let d = new Date();
let formatted = `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`;

如果需要更改定界符:

const delimiter = '/';
let formatted = [d.getFullYear(), d.getMonth() + 1, d.getDate()].join(delimiter);
ItachiHarry2020/03/09 18:22:49

好吧,我想要的是将今天的日期转换为MySQL友好的日期字符串,例如2012-06-23,并在我的一个查询中将该字符串用作参数。我发现的简单解决方案是:

var today = new Date().toISOString().slice(0, 10);

请记住,上述解决方案考虑您的时区偏移量。

您可以考虑改用以下功能:

function toJSONLocal (date) {
    var local = new Date(date);
    local.setMinutes(date.getMinutes() - date.getTimezoneOffset());
    return local.toJSON().slice(0, 10);
}

如果您在一天的开始/结束时间执行此代码,这将为您提供正确的日期。

逆天LEY逆天2020/03/09 18:22:49

如果你需要使用普通的JavaScript,使用快速格式化你的日期getDategetMonth + 1getFullYeargetHoursgetMinutes

var d = new Date();

var datestring = d.getDate()  + "-" + (d.getMonth()+1) + "-" + d.getFullYear() + " " +
d.getHours() + ":" + d.getMinutes();

// 16-5-2015 9:50

或者,如果您需要用零填充:

var datestring = ("0" + d.getDate()).slice(-2) + "-" + ("0"+(d.getMonth()+1)).slice(-2) + "-" +
    d.getFullYear() + " " + ("0" + d.getHours()).slice(-2) + ":" + ("0" + d.getMinutes()).slice(-2);

// 16-05-2015 09:50