繁体   English   中英

React Native,date.getTime()的结果在调试和正常模式下是不同的

[英]React Native, result of date.getTime () is different in debug and normal mode

在调试模式和普通模式下,date.getTime()的结果不同。

我知道Web浏览器JS解释器和React Native JSCore的行为是不同的。

在前一种情况下,我通过将日期字符串中的空白更改为T来解决了该问题,但是在这种情况下,T已经存在。 所以我不知道该如何解决。

const dateString = '2019-08-30T14:27:32';
const date = new Date(dateString);
console.log(date.getTime());

in debug
1567142852000
in normal
1567175252000

这是由于JS处理您本地TimeZone中的日期。 一直使用UTC!

ECMAScript标准规定为§15.9.1.1

When using date.getTime();
"Time is measured in ECMAScript in milliseconds since 01 January, 1970 UTC."

您可能要尝试以下操作:

var UTC=new Date(Date.UTC(year,month-1,day,0,0,0,0));

或者,如果要使用字符串versino,则在UTC时区附加Z使其成为

let date = new Date('2011-04-11T10:20:30Z');
console.log(date.getTime());

如果您真的想要,可以使用日期js库,例如

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM