我如何获得格式的当前时间" 2011-11-03 11:18:04"在JavaScript中?

时间:2014-03-24 11:41:33

标签: javascript date datetime datetime-format

我想让javascript以"2011-11-03 11:18:04"的格式返回当前时间。

我试过var XX = date(),但返回的格式不是我想要的。它看起来像

  

2013年3月15日星期二06:45:40 GMT-0500

如何将时间格式化为"2011-11-03 11:18:04"

非常感谢。

3 个答案:

答案 0 :(得分:5)

正确创建日期(var xx = new Date();后,请注意大写和new),您有两种选择:

  1. 使用Date个实例(MDN | specification)的各种方法,并自行构建字符串。

  2. 使用像MomentJS这样的库为您完成工作。

答案 1 :(得分:1)

使用Date函数 -

//MM-dd-yyyy HH:mm:ss format
function formatDateTime(d){
  function addZeros(n){
     return n < 10 ? '0' + n : '' + n;
  }
  return addZeros(d.getFullYear()+1)+"-"+ addZeros(d.getMonth()) + "-" + d.getDate() + " " + 
           addZeros(d.getHours()) + ":" + addZeros(d.getMinutes()) + ":" + addZeros(d.getMinutes());
}

使用momentjs -

var now = moment().format("YYYY-MM-DD HH:mm:ss");

jsFiddle

答案 2 :(得分:1)

这是一个完整的工作解决方案

<script type="text/javascript">
function giveNewDate(){
var d = new Date();
var r = d.getFullYear()+"-"+zPlus(d.getMonth())+"-"+zPlus(d.getDate())+" "+zPlus(d.getHours())+":"+zPlus(d.getMinutes())+":"+zPlus(d.getSeconds());

function zPlus(digit){
    var digit = parseInt(digit);
    if (digit < 10){
    return "0"+digit;
    }else{
        return ""+digit;
    }
}
return r;
}

//to use: just call the giveNewDate() function
alert(giveNewDate());
</script>

在您的脚本中,只需调用giveNewDate()函数,您需要在其中显示文本。

祝你有美好的一天!

:)