【问题标题】:Convert entered date into UTC in JavaScript based on browser location根据浏览器位置将输入的日期转换为 JavaScript 中的 UTC
【发布时间】:2012-08-17 04:05:16
【问题描述】:

我的应用将在墨西哥和澳大利亚运行。

当用户选择日期时,我将其格式化为; “2012 年 8 月 17 日星期五”

现在,如何将该字符串值转换为 UTC 日期?

到目前为止我有这个;

var enteredDate = $('.CreateDateRange').val() + " 07:00:00";
var thisDate = new Date(enteredDate);
var utcDate = new Date(thisDate.getUTCFullYear(), thisDate.getUTCMonth(), thisDate.getUTCDay(), thisDate.getUTCHours(), 0, 0);

但在上述日期,返回日期是; 2012 7 4 21:0:0 这是不正确的。

在澳大利亚,我预计 UTC 日期将类似于“2012 8 17”或“2012 8 16”,具体取决于一天中的时间。

【问题讨论】:

  • 你试过toUTCString 吗?请尝试enteredDate.toString()enteredDate.toUTCString() 并检查时区偏移量。请参阅编辑后的答案。
  • 不要使用浏览器位置;只需遵循其时区即可。旅行时,某人的计算机可能会设置为他的家乡时区。

标签: javascript utc datetime-format


【解决方案1】:

在 Date 对象中查找 UTC 特定方法

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date

getUTCDate, getUTCDay, getUTCFullYear, getUTCHours, getUTCMilliseconds, getUTCMinutes, getUTCMonth, getUTCSeconds, toUTCString

编辑:

toUTCString 会给你你所需要的

var enteredDate = $('.CreateDateRange').val() + " 07:00:00";
var thisDate = new Date(enteredDate);
console.log(thisDate.toUTCString());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 2012-08-08
    • 2019-12-05
    • 2012-10-01
    • 1970-01-01
    相关资源
    最近更新 更多