Moment.js:为什么此转换日期-> Unix给我5:00:00而不是0:00:00?

时间:2020-08-16 23:02:09

标签: jquery date momentjs

我有这个jquery / moment.js代码:

var check_in_proper = '15-09-2020';
var ts = moment(check_in_proper, "DD/MM/YYYY").valueOf()/1000;
alert(ts);

这是给我这个时间戳:1600146000,它是2020年9月15日星期二 5:00:00 。 但我预计会收到1600128000,也就是2020年9月15日,星期二0:00:00。

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

您需要使用utc()函数来获取正确的时间和日期,并且可以使用valueOf的{​​{3}}函数来代替momentJS

实时演示:

var check_in_proper = '15-09-2020'; //date
var ts = moment.utc(check_in_proper, "DD/MM/YYYY").unix() //unix
var formattedDate = moment.unix(ts).utc().format("dddd, D MMMM YYYY, HH:mm:ss");
console.log(ts); //1600128000
console.log(formattedDate); //Tuesday, 15 September 2020, 00:00:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>