如何在JavaScript中获取当前日期?
当前回答
像这样漂亮地打印日期。
2015年6月1日上午11:36:48
https://gist.github.com/Gerst20051/7d72693f722bbb0f6b58
其他回答
使用new Date()生成包含当前日期和时间的新Date对象。
var today=新日期();var dd=字符串(today.getDate()).padStart(2,'0');var mm=字符串(today.getMonth()+1).padStart(2,'0')//一月是0!var yyyy=today.getFullYear();今天=mm+'/'+dd+'/'+yyyy;document.write(今天);
这将以mm/dd/yyyy的格式显示今天的日期。
只需更改今天=mm+'/'+dd+'/'+yyyy;按照您希望的格式。
试试看:
var currentDate=新日期()var day=currentDate.getDate()var month=currentDate.getMonth()+1var year=currentDate.getFullYear()document.write(“<b>”+天+“/”+月+“/“+年+”</b>”)
结果如下
15/2/2012
这有什么大不了的。。最干净的方法是
var currentDate=新日期().toLocaleString().slice(0,10);
您可以使用扩展Date对象的Date.js库,因此可以使用.today()方法。
基础知识
如果您对2016年1月24日星期日21:23:07 GMT+0100(CET)格式感到满意,您可以使用以下代码:
var today = new Date();
Date.product.toLocaleDateString()
如果要格式化输出,请考虑使用Date.protype.toLocaleDateString():
var today = new Date().toLocaleDateString('de-DE', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
});
如果您今天(1月24日)执行了该代码ᵗʰ,2016),它将产生字符串Sonntag,24。2016年1月。但是,较旧的浏览器可能会产生不同的结果,例如IE<11不支持区域设置或选项参数。
正在自定义
如果Date.product.toLocaleDateString()不够灵活,无法满足您可能需要的任何需求,您可能需要考虑创建一个自定义Date对象,如下所示:
var DateObject = (function() {
var monthNames = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
var date = function(str) {
this.set(str);
};
date.prototype = {
set : function(str) {
var dateDef = str ? new Date(str) : new Date();
this.day = dateDef.getDate();
this.dayPadded = (this.day < 10) ? ("0" + this.day) : "" + this.day;
this.month = dateDef.getMonth() + 1;
this.monthPadded = (this.month < 10) ? ("0" + this.month) : "" + this.month;
this.monthName = monthNames[this.month - 1];
this.year = dateDef.getFullYear();
}
};
return date;
})();
如果您今天(1月24日)包含了该代码并执行了新的DateObject()ᵗʰ,2016),它将生成具有以下财产的对象:
day: 24
dayPadded: "24"
month: 1
monthPadded: "01"
monthName: "January"
year: 2016