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