所以我的项目正在使用时刻时区。除了单元测试之外,它在所使用的任何地方都能完美运行。我无法弄清楚原因。
我正在打电话
function prependColumn(column) {
$('tr').each((i, tr) => {
$(tr).prepend('<td>' + column[i] + '</td>')
})
}
prependColumn(['cell0','cell1', 'cell2', 'cell3'])
其中日期,掩码和时区如下:
moment(new Date(date)).tz(timezone).format(mask);
我得到的结果是:date = "2016-11-11T19:34:56.601Z"
mask = "mm-dd-yyyy"
timezone = "America/New_York"
在另一个电话中,会发生以下情况:
34-Fr-yyyy
,结果为date = "2016-12-13T21:57:53.336Z"
mask = "mm-dd-yyyy"
timezone = "America/New_York"
答案 0 :(得分:1)
您使用了错误的日期格式,正确的是MM-DD-YYYY
。
var date = "2016-12-13T21:57:53.336Z";
var mask = "mm-dd-yyyy";
var timezone = "America/New_York";
var dateStr = moment(date).tz(timezone).format('MM-DD-YYYY');
console.log(dateStr);
&#13;
<script src="http://momentjs.com/downloads/moment.js"></script>
<script src="http://momentjs.com/downloads/moment-timezone-with-data.js"></script>
&#13;