js时间api的问题

要对js里的Date加上8个小时40分钟5秒,这样的操作是不是要自己去实现整个的进位,有没有类似java里calendar这样的api

阅读 3.3k
4 个回答

如果不想使用其它库

方法一

javascriptvar d = new Date();
console.log("before", d);
d.setHours(d.getHours() + 8);
d.setMinutes(d.getMinutes() + 40);
d.setSeconds(d.getSeconds() + 5);
console.log("after", d);
before Wed Aug 05 2015 19:41:56 GMT+0800 (中国标准时间)
after Thu Aug 06 2015 04:22:01 GMT+0800 (中国标准时间)

方法二

javascriptvar d = new Date();
console.log("before", d);
d.setSeconds(d.getSeconds() + 8 * 3600 + 40 * 60 + 5);
console.log("after", d);
before Wed Aug 05 2015 19:44:27 GMT+0800 (中国标准时间)
after Thu Aug 06 2015 04:24:32 GMT+0800 (中国标准时间)

JavaScript 的时间操作可以用这个类库 Datejs

如果不想用类库,你就看看人家代码是怎么实现的,模仿一个。

使用轮子:sugar.js

clipboard.png

JavaScriptnew Date().advance({hours:8,minutes:40, seconds:5})

clipboard.png

更多用法

clipboard.png

更多API,见http://sugarjs.com/api/Date

先全部换成毫秒,然后相加,最后转成日期。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题