2011-08-11 51 views
2

我有我的網頁上下面的文字:如何將字符串轉換爲UTC日期?

<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()中的文本返回一個日期對象而不是一個字符串?

EDIT 我得到的字符串是
server_time_utc: 「Date.UTC(2011,8,7,7,9,20)」

+0

你可以發佈.html函數返回的字符串嗎? –

回答

1

接受較寬範圍的輸入

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

該函數將按順序從該字符串中提取每個數字,然後用每個數字調用Date.UTC並返回Date對象。

+0

@Nate,任何運氣與這個? – Joe

+0

是的,工作!雖然這是一個月,但我可以解決這個問題。 – Nate

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

返回NaN爲server_time_utc – Nate

+0

@Nate:顯示我們的示例$(this).html()' – zerkms

+0

「Date.UTC(2011,8,7,7,9,20)」 – Nate

相關問題