1

我正在使用 twitter 搜索 API 制作一个简单的 twitter 提要。一切都很好,除了我从 created_at 得到的时间比例外时间晚了 2 小时。结果是一个字符串:“Mon, 29 Apr 2013 11:29:40”(例如)

有人知道使用 javascript 增加 2 小时的好方法吗?时间格式是 hh:mm:ss,我显然不希望它在 24:22:00 或 27:00:00 等时间继续。

提前致谢。

4

3 回答 3

1

执行此操作的粗略 JavaScript 是:

var dateTime = new Date("Mon, 29 Apr 2013 11:29:40");

var year = dateTime.getFullYear();
var month = dateTime.getMonth();
var date = dateTime.getDate();
var hours = dateTime.getHours();
var minutes = dateTime.getMinutes();
var seconds = dateTime.getSeconds();
var milliseconds = dateTime.getMilliseconds();

hours = hours + 2;

var dateTime2 = new Date(year, month, date, hours, minutes, seconds, milliseconds);

然后,您可以使用以下命令输出日期:

    dateTime2.toLocaleString()
于 2013-04-29T12:44:59.667 回答
0

这听起来像一个时区问题。如果您只添加两个小时,那么您的代码将不适用于与您不同时区的用户。JavascriptDate对象有一个getTimezoneOffset()可以帮助您的方法。

于 2013-04-29T12:30:15.257 回答
0

我已经通过从字符串中获取时间来解决它,然后用 2 更新小时(或者在 22 或 23 时将其设置为正确的值)。那天我做了完全相同的事情,并在需要时将其更新为 30。字符串的大小永远不会改变,因此我可以轻松选择我想要的部分并根据自己的喜好进行更改。

谢谢大家的建议!

于 2013-04-29T14:49:12.903 回答