转换特定日期&基于用户位置的时间到utc日期&时间

Convert specific date & time based on user location to utc date & time

本文关键字:时间 amp 日期 位置 utc 用户 于用户 转换      更新时间:2023-09-26

我正在开发一个基于JavaScript的应用程序。在我的应用程序中,我们构建了一个列表,用户可以从中选择时间。

列表看起来像这个

一旦用户从列表中选择了一个时间,基于今天的日期,我需要将日期(即今天的日期)和用户选择的时间转换为UTC时间。

有很多关于将日期时间转换为UTC的帖子,但每个帖子都有自己的优点;缺点。有些帖子很旧,JavaScript每天都在发展。

在转换日期时,我需要考虑用户的位置。我将假设用户机器上设置的任何位置/时区都是正确的位置/时区。

var userTime = new Date();应该为您提供以下内容:当您呼叫userTime时为Sun Dec 27 2015 21:58:08 GMT-0600 (CST)

你可以在那里做一些简单的数学运算,也可以使用userTime.toISOString();,并为您转换GMT时间,例如。"2015-12-28T04:04:07.626Z"

如果你需要找到位置,你可以HTML5地理位置,否则新的日期将返回Date对象

您可以使用.toISOSTring()或使用.toUTCString().

(function(){
 var a = new Date();
// Using .toISOSTring
document.getElementById('demo').textContent = a.toISOString();
var b =new Date(new Date().toUTCString().substr(0, 25))
document.getElementById('demo1').textContent = b
}())

工作模型

编辑

您还可以想出一个函数,以UTC格式返回结果

    function convertDateToUTC(date) { return new Date(date.getUTCFullYear(), 
date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), 
date.getUTCSeconds()); 
    }

工作模式2