javascript moment.js格式日期

时间:2017-06-20 14:30:41

标签: javascript twitter-bootstrap

我按照this问题进行操作,我需要格式化生成的时间字符串。我使用bootstrap datetimepicker和moment.js,我有这个代码:

$("#datetimepicker2").on("dp.change", function (e) {
    console.log('date2: ' + e.date.format('MM.DD.YYYY HH:mm:ss') );
    end_date = e.date;
    end_date.toJSON = function(){ return moment(this).format(); };
});
console.log(JSON.stringify(end_date));

我的问题是我收到了

"2017-06-20T17:29:05+03:00"

虽然我需要这样的东西:

"2017-06-20T17:29:05.013Z"

任何有关如何获得它的想法都会受到欢迎。谢谢。

2 个答案:

答案 0 :(得分:0)

您可以将moment对象转换为js date并在其上使用toISOString()。 。力矩()TODATE()toISOString();

答案 1 :(得分:0)

您可以在.format()之前添加.tz()并在.tz(" America / New_York")等内传入时区。



$(function() {
  $("#datetimepicker2").datepicker();
  $("#datetimepicker2").on("change", function(e) {
    console.log(moment().utc($(this).val()).format());
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone-with-data.js"></script>
Date: <input type="text" id="datetimepicker2" />
&#13;
&#13;
&#13;