Javascript以格式获取日期

时间:2011-02-08 03:23:25

标签: javascript date

我希望今天的日期格式为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获取今天的日期?

8 个答案:

答案 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;
}