时刻时区返回单元测试的坏值

时间:2017-08-25 20:51:01

标签: javascript momentjs

所以我的项目正在使用时刻时区。除了单元测试之外,它在所使用的任何地方都能完美运行。我无法弄清楚原因。

我正在打电话

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"

1 个答案:

答案 0 :(得分:1)

您使用了错误的日期格式,正确的是MM-DD-YYYY

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

http://momentjs.com/docs/#/parsing/string-format