以此格式获取当前日期

时间:2016-02-17 19:58:04

标签: javascript date datetime formatting

如何通过Javascript获取当前日期并以此方式格式化#34; 2015-03-25T12:00:00" ?

我想知道是否有功能或方法。我不是问如何将字符串转换为另一个字符串。

4 个答案:

答案 0 :(得分:2)

  

如何通过Javascript获取当前日期并以此方式格式化#34; 2015-03-25T12:00:00" ?

这似乎是没有时区的ISO 8601格式日期,将被视为"本地"时间。有一个内置的toISOString方法,但它总是使用UTC。

所以你可以编写自己的函数(相当简单,见下文)或使用库(如果你只想格式化日期字符串,真的不需要)。

  

我想知道是否有功能或方法。

不是内置函数,没有。



/* Return an ISO 8601 string without timezone
** @param {Date} d - date to create string for
** @returns {string} string formatted as ISO 8601 without timezone
*/
function toISOStringLocal(d) {
  function z(n){return (n<10?'0':'') + n}
  return d.getFullYear() + '-' + z(d.getMonth()+1) + '-' +
         z(d.getDate()) + 'T' + z(d.getHours()) + ':' +
         z(d.getMinutes()) + ':' + z(d.getSeconds())
          
}

document.write(toISOStringLocal(new Date()));
&#13;
&#13;
&#13;

答案 1 :(得分:1)

使用moment.js它会让你大吃一惊。将此脚本添加到HTML

private class/trait/object P {...}

并使用此代码:

<script type="text/javascript" src="http://momentjs.com/downloads/moment-with-locales.js"></script>

答案 2 :(得分:0)

尝试此功能:

function(d) {

    var cad = "";

    try{
              cad =  d.getUTCFullYear() + "-" + pad(d.getMonth() + 1) + "-" + pad(d.getUTCDate()) + "T" + pad(d.getHours()) 
              + ":" + pad(d.getUTCMinutes()) + ":" + pad( d.getSeconds()) ;  

      return cad;
    }catch(e){
      return null;
    }  

  }

答案 3 :(得分:0)

确切地说:.toISOString().slice(0, -5)

var d1 = new Date()
var str = d1.toISOString().slice(0, -5)
console.log(str);