请帮助我了解问题出在哪里。 在表单中,我可以设置闹钟、选择日期和选择时间。我只想获取所选日期+时间的 unix 时间戳。
我使用 momentjs 获取所选日期和时间的 unix 时间戳。
在我的电脑上它运行完美。 但在生产服务器中,以秒为单位的时间戳是 6 小时后。
这是一段js代码:
var date = jqForm.find("input[name=alert_date]").val();
var time = jqForm.find("input[name=alert_time]").val();
var datetime = date+' '+time;
console.log(datetime);
ts_datetime = moment(datetime, "DD/MM/YYYY H:mm").unix();
console.log(ts_datetime);
options.data = {'ts_datetime' : ts_datetime};
服务器有正确的日期和时间。
最佳答案
假设您的输入相同(您没有提供),那么您很可能只是看到了服务器时区和计算机时区之间的差异。
UNIX 时间戳是根据 UTC,但您正在调用 moment
函数,默认情况下,它使用本地时区。
如果您希望输入采用 UTC,则可以改为调用 moment.utc(...)
。
ts_datetime = moment.utc(datetime, "DD/MM/YYYY H:mm").unix();
关于javascript - 生产服务器中的 MomentJS 给了我一个不同的 unix 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35657133/