我有JSON代码:
{ "time":"2015-10-20T11:20:00+02:00" }
我从我的脚本中读到了JSON,表中的输出是:
2015-10-20T11:20:00+02:00
但是我希望输出等于当天及其时间。
例如:星期二20:00(如果我的时区是+02)
答案 0 :(得分:7)
您可以格式化这样的日期:
var date = new Date('2015-10-20T11:20:00+02:00');
var days = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];
var output = days[date.getDay()] + ' ' + date.getHours() + ':' + date.getMinutes();
console.log(output);
// Tue 6:20
答案 1 :(得分:3)
根据我的经验,处理日期和时间最干净的方法是使用source code for the Trivial Drive sample。顺便说一句,我将鼓励始终以UTC格式存储您的日期时间数据,并让本地浏览器在本地时区显示它们。
要moment.js您的输入,您可以执行以下操作:
var vrijeme = "2015-10-20T11:20:00+02:00",
date = moment(vrijeme, moment.ISO_8601);
var formatted = date.format('ddd h:mm');
console.log(formatted); // open the console with F12 to see the results
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
答案 2 :(得分:1)
您可以在不使用days数组的情况下实现
function getTwoDigitValue(str) {
return str.toString().length == 1 ? "0" + str : str;
}
(function() {
var date = new Date('2015-10-20T11:20:00+02:00');
var output = date.toString().split(" ")[0] + " " +
getTwoDigitValue(date.getHours()) + ":" +
getTwoDigitValue(date.getMinutes());
console.log(output)
})()
&#13;