在JavaScript中,如何格式化日期对象以打印为10-Aug-2010
?
如何格式化JavaScript日期
如果您在代码中使用jQuery UI,则有一个名为的内置函数formatDate()
。我使用这种方式来格式化今天的日期:
var testdate = Date();
testdate = $.datepicker.formatDate( "d-M-yy",new Date(testdate));
alert(testdate);
您可以在jQuery UI文档中看到 许多其他格式化日期的示例。
new Date().toLocaleDateString()
// "3/21/2018"
使用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);
好吧,我想要的是将今天的日期转换为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);
}
如果您在一天的开始/结束时间执行此代码,这将为您提供正确的日期。
如果你需要使用普通的JavaScript,使用快速格式化你的日期getDate
,getMonth + 1
,getFullYear
,getHours
和getMinutes
:
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