我正在使用 twitter 搜索 API 制作一个简单的 twitter 提要。一切都很好,除了我从 created_at 得到的时间比例外时间晚了 2 小时。结果是一个字符串:“Mon, 29 Apr 2013 11:29:40”(例如)
有人知道使用 javascript 增加 2 小时的好方法吗?时间格式是 hh:mm:ss,我显然不希望它在 24:22:00 或 27:00:00 等时间继续。
提前致谢。
我正在使用 twitter 搜索 API 制作一个简单的 twitter 提要。一切都很好,除了我从 created_at 得到的时间比例外时间晚了 2 小时。结果是一个字符串:“Mon, 29 Apr 2013 11:29:40”(例如)
有人知道使用 javascript 增加 2 小时的好方法吗?时间格式是 hh:mm:ss,我显然不希望它在 24:22:00 或 27:00:00 等时间继续。
提前致谢。
执行此操作的粗略 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()
这听起来像一个时区问题。如果您只添加两个小时,那么您的代码将不适用于与您不同时区的用户。JavascriptDate
对象有一个getTimezoneOffset()
可以帮助您的方法。
我已经通过从字符串中获取时间来解决它,然后用 2 更新小时(或者在 22 或 23 时将其设置为正确的值)。那天我做了完全相同的事情,并在需要时将其更新为 30。字符串的大小永远不会改变,因此我可以轻松选择我想要的部分并根据自己的喜好进行更改。
谢谢大家的建议!