Javascript -将本地时间转换为谷歌友好的UTC时间

Javascript - converting local time to google friendly UTC time

本文关键字:时间 谷歌 UTC 转换 Javascript      更新时间:2023-09-26

我想从2个文本框中获得日期和时间,并格式化它们,并将它们发送到谷歌方向javascript API以获得过境方向。

如何将日期和时间值加在一起,然后将它们转换为标准的UTC时间?这是我的:

var dateOfTravel = document.getElementById('fdate').value; 
var timeOfTravel= document.getElementById('ftime').value; 

//join the date and time strings
var d1 = new Date(dateOfTravel + ' ' + timeOfTravel);
alert("date and time is " + d1);
alert(d1.getTime());
var UTCDateAndTime = moment(d1).unix();
alert(UTCDateAndTime);

谢谢,汤姆

几个选项:

  • JavaScript日期有toISOString,它提供了一个标准的ISO-8601日期/时间字符串,总是在UTC,例如"2015-10-25T11:02:23.019Z"。(是的,时区说明符总是Z,这是规范所要求的。所以它不会因地区或时区而变化。)

  • 您可以使用各种getUTCXyz方法来构建自己的字符串

  • getTime返回自the Epoch(1970年1月1日UTC午夜)以来的毫秒数,这与时区无关。

  • getTimezoneOffset告诉你你离UTC有多远的偏移量,你可以用它来调整东西(尽管我在这种情况下看不到一个很好的理由)。

这似乎有效:

var d1 = new Date(dateOfTravel + ' ' + timeOfTravel);
//if the year is less than 1970 then add 100 on. Using 2 digit years and there's a bug with javascript date implimentation
if (d1.getFullYear() < 1970) {
d1.setFullYear(d1.getFullYear() + 100);
}