我试图显示在我的项目中提出问题的时间表。在我的数据库中,我有一个Datetime列'列出'。当用户发布问题时,我会使用UTC DateTime
插入问题。
在客户端,我有Livestamp.js
和moment.js
来显示问题的时间标记。
代码:
var then = moment(listed).unix(); // convert to unix time
然后:
s += "</td><td><span data-livestamp='" + then + "'></span>";
问题在于它没有按预期显示时间轴,更多时间会显示。
从服务器返回日期字符串的示例:
2015-03-09T09:16:41
我需要一种方法让livestamp根据服务器的日期时间考虑UTC时间来显示timeago,并考虑当地的UTC时间,但我不知道如何实现这一点。
注意:服务器与客户端(访客)位于同一位置,非常明显。
使用:MySQL,.NET / C#4.5,jQuery / Javascript
答案 0 :(得分:2)
两年前我遇到过类似的问题,这就是我解决问题的方法:
var localtime = new Date(new Date(listed).getTime() -
(new Date().getTimezoneOffset() * 60000));
var then = moment(localtime).unix();
编辑:试过这个
var localDate = new Date(new Date('2015-03-09T13:56:41').getTime() -
(new Date().getTimezoneOffset() * 60000));
var then = moment(localDate).unix();
document.getElementById("demo").innerHTML =
"Made it : <span data-livestamp='" + then + "'></span>" ;
//Results: "Made it : 5 minutes ago" as I'm in a +1 timezone