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

时间:2011-08-11 01:56:30

标签: javascript jquery

我的页面上有以下文字:

<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:“Date.UTC(2011,8,7,7,9,20)”

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

接受更广泛的输入

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

此函数将按顺序从该字符串中拉出每个数字,然后使用每个数字调用Date.UTC并返回Date对象。