我希望今天的日期格式为mm-dd-yyyy
我正在使用var currentDate = new Date();
document.write(currentDate);
我无法弄清楚如何格式化它。
我看到了示例var currentTime = new Date(YY, mm, dd);
和currentTime.format("mm/dd/YY");
两者都不起作用
我终于使用
获得了格式正确的日期var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;//January is 0!`
var yyyy = today.getFullYear();
if(dd<10){dd='0'+dd}
if(mm<10){mm='0'+mm}
var today = mm+'/'+dd+'/'+yyyy;
document.write(today);'`
对于这么简单的任务来说,这似乎非常复杂。
有没有更好的方法在dd/mm/yyyy
获取今天的日期?
答案 0 :(得分:22)
不幸的是没有更好的方法,但是你可以使用库来处理解析和格式化日期,而不是重新发明轮子:Datejs
<plug class="shameless">
或者,如果您发现格式说明符难看且难以解密,here's a concise formatting implementation允许您使用人类可读的格式说明符(即the Date instance getters本身):
date.format("{Month:2}-{Date:2}-{FullYear}"); // mm-dd-yyyy
</plug>
答案 1 :(得分:12)
var today = new Date();
var strDate = 'Y-m-d'
.replace('Y', today.getFullYear())
.replace('m', today.getMonth()+1)
.replace('d', today.getDate());
答案 2 :(得分:4)
简单的答案是否定的。这是我知道的唯一方法。 您可以将其包装到可以重复使用多次的函数中。
答案 3 :(得分:2)
function dateNow(splinter){
var set = new Date();
var getDate = set.getDate().toString();
if (getDate.length == 1){ //example if 1 change to 01
getDate = "0"+getDate;
}
var getMonth = (set.getMonth()+1).toString();
if (getMonth.length == 1){
getMonth = "0"+getMonth;
}
var getYear = set.getFullYear().toString();
var dateNow = getMonth +splinter+ getDate +splinter+ getYear; //today
return dateNow;
}
格式化此功能是mm dd yyyy 如果你想要的话,你可以选择和替换...例如 dateNow(“/”)你将获得12/12/2014
答案 4 :(得分:1)
没有内置任何内容,但如果您已经在使用jQuery,请考虑使用它(如果没有,那么您也应该考虑使用它!)
答案 5 :(得分:1)
date.js就是您所需要的。例如,下面的代码段是将日期转换为字符串作为Java样式
new Date().toString('M/d/yyyy')
答案 6 :(得分:-1)
(new Date()).format("MM-dd-yyyy")
N.B。月是&#34; MM&#34;不是&#34; mm&#34;
答案 7 :(得分:-2)
function appendZeros(value,digits){
var c= 1;
initValue = value;
for(i=0;i<digits-1;i++){
c = c*10;
if( initValue < c ){
value = '0' + value;
}
}
return value;
}