如何将字符串转换为UTC日期?

How do I convert a string to a UTC date?

本文关键字:UTC 日期 转换 字符串      更新时间:2023-09-26

我的页面上有以下文字:

<span class="UTCDate">Date.UTC(2011, 8, 7, 7, 9, 20)</span>

我想这样做:

 $(function () {
     $('.UTCDate').each(function () {
         var server_time_utc = $(this).html();
         var subbed = new Date(server_time_utc - 12 * 60 * 60 * 1000);
         var d = new Date(subbed + new Date().getTimezoneOffset());
         var localTime = $.format.date(d, "ddd, MMMM dd GG hh:mma");
         localTime = localTime.replace("GG", "at");
         $(this).html(localTime);
     });
 });

我正在使用UTC日期,将其更改为本地浏览器时间并格式化。

我的问题是我得到一个字符串,而不是一个日期对象在这一行:

 var server_time_utc = $(this).html();

如果我输入:

var server_time_utc = Date.UTC(2011, 8, 7, 7, 9, 20);

我得到一个日期对象。

我如何使文本从$(this).html()返回一个日期对象而不是字符串?

编辑我得到的字符串是
server_time_utc:"日期。Utc (2011, 8,7,7,9,20)"

接受更大范围的输入

var matches = $(this).html().match(/'d+/g);
var date = new Date(Date.UTC.apply(this, matches));

这个函数将按顺序从字符串中取出每个数字,然后调用Date。并返回Date对象

var server_time_utc = Date.parse($(this).html());