我的页面上有以下文字:
<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)”
答案 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对象。