我的页面中有一堆时间戳,我希望Javascript转换为用户的本地时区。在我的模板中,我将ISO格式的时间戳拖放到特殊的span类中,并希望迭代每个span以进行转换。这是我的代码:
$('.tzdate').each( function(){
$(this).text( Date( $(this).val() ) );
});
转换效果很好。唯一的问题是每个跨度都更新为相同的值。我认为在$ .each()中使用$(this)会起作用,但在Chrome或Firefox中似乎都没有。
有什么建议吗?
[编辑]
VisioN的回答让我开始,因为它现在实际上正在进行日期转换,而不仅仅是在脚本运行时使用时间戳。现在问题是将文本设置为日期似乎不起作用。一些更新的代码:
$( ".tzdate" ).each(function( index ) {
console.log( index + ": " + $(this).text() );
console.log( index + ": " + new Date( $(this).text() ) );
var a = new Date( $(this).text() )
$(this).text ( a )
});
输出:
0: 2013-01-24T18:42:21
0: Thu Jan 24 2013 13:42:21 GMT-0500 (EST)
1: 2013-01-24T18:35:08
1: Thu Jan 24 2013 13:35:08 GMT-0500 (EST)
2: 2013-01-24T18:42:21
2: Thu Jan 24 2013 13:42:21 GMT-0500 (EST)
3: 2013-01-24T18:40:27
3: Thu Jan 24 2013 13:40:27 GMT-0500 (EST)
但是span的文本实际上并没有更新。思考?谢谢!
[最终编辑]
在设置span的文本时,需要在Date对象之后使用.toString()。
答案 0 :(得分:2)