2017-08-25 50 views
0

所以我的项目正在使用瞬间时区。除了单元测试以外,它在任何地方都能正常工作。我无法弄清楚为什么。瞬间时区返回单元测试的不良值

我打电话

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" 

和结果是57-Tu-yyyy

回答

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);
<script src="http://momentjs.com/downloads/moment.js"></script> 
 
<script src="http://momentjs.com/downloads/moment-timezone-with-data.js"></script>

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

相关问题