如何通过Javascript获取当前日期并以此方式格式化#34; 2015-03-25T12:00:00" ?
我想知道是否有功能或方法。我不是问如何将字符串转换为另一个字符串。
答案 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;
答案 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);