将字符串转换为实时日期和时间

时间:2015-11-22 04:42:24

标签: javascript json

我有JSON代码:

{ "time":"2015-10-20T11:20:00+02:00" }

我从我的脚本中读到了JSON,表中的输出是:

2015-10-20T11:20:00+02:00

但是我希望输出等于当天及其时间。

例如:星期二20:00(如果我的时区是+02)

3 个答案:

答案 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数组的情况下实现

&#13;
&#13;
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;
&#13;
&#13;