我想要这种格式的日期:'%Y-%m-%dT%H:%M:%S+0000'
。我写了一个函数,但仍然问自己是否有更好的方法来做到这一点。
这是我的功能:
function formatDate() {
var d = new Date();
var year = d.getMonth() + 1;
var day = d.getDate();
var month = d.getMonth() + 1;
var hour = d.getHours();
var min = d.getMinutes();
var sec = d.getSeconds();
var date = d.getFullYear() + "-" + (month < 10 ? '0' + month : month) + "-" +
(day < 10 ? '0' + day : day) +
"T" + (hour < 10 ? '0' + hour : hour) + ":" + (min < 10 ? '0' + min : min) + ":" + (sec < 10 ? '0' + sec : sec) + "+0000";
return date;
}
关于如何使用更少的代码执行此操作的任何理想?
答案 0 :(得分:5)
可以在一行中完成。我做了两行以使其更简单。结合第2行和第3行。
var d = new Date();
date = d.toISOString().toString();
var formattedDate = date.substring(0, date.lastIndexOf(".")) + "+0000";
console.log(formattedDate);
&#13;
答案 1 :(得分:2)
使用moment.js。
moment().format('YYYY-MM-DDTh:mm:ss+0000')
console.log(moment().format('YYYY-MM-DDTh:mm:ss+0000'))
<script src="https://cdn.jsdelivr.net/momentjs/2.14.1/moment-with-locales.min.js"></script>
答案 2 :(得分:1)
var d = new Date();
var dateString = d.getUTCFullYear() +"-"+ (d.getUTCMonth()+1) +"-"+ d.getUTCDate() + " " + d.getUTCHours() + ":" + d.getUTCMinutes() + ":" + d.getUTCSeconds()+"+0000";
getUTCMonth返回0 - 11,所以想在转换为字符串之前添加一个。