在前端开发时,有时我们需要在 javascript 中对日期加上或减去指定的时间。本文简单记录如何对js日期加上或减去指定的时间。

一、使用js标准日期对象

当使用js日期对象Date进行时间加减时,这个处理相对比较简单,直接调用Date对象的方法进行操作。只是Date对象最后需要进行格式化(格式化可以参考这篇文章“js 常用日期字符串和日期转换 ”),这样显示比较友好。

示例代码如下:

var curTime = new Date();
// curTime: Tue Oct 13 2020 16:44:47 GMT+0800 (中国标准时间)
console.log('curTime:', curTime);// 1. 加上1个小时
var addHour = curTime.setHours(curTime.getHours() + 1);
// addHour: 1602582287529
console.log('addHour:', addHour);
// Tue Oct 13 2020 17:44:47 GMT+0800 (中国标准时间)
console.log(new Date(addHour));// 2. 在当前时间curTime变量上加上10分钟
var addMinute = new Date(curTime.setMinutes(curTime.getMinutes() + 10));
// addMinute: Tue Oct 13 2020 17:54:47 GMT+0800 (中国标准时间)
console.log('addMinute:', addMinute);// 3. 在当前时间curTime变量上加上1分40秒(100秒)
var addSeconds = new Date(curTime.setSeconds(curTime.getSeconds() + 100));
// addSeconds: Tue Oct 13 2020 17:56:27 GMT+0800 (中国标准时间)
console.log('addSeconds:', addSeconds);

二、使用字符串格式日期

    使用字符串日期的处理,首先需要将字符串转换为js的Date对象。后续的处理,和第一步相同。

代码如下:

var rawdate = stringToDate('2020-10-13 12:00:01');
// 日期加上11秒
var addSecond = 11;
var resDate = new Date(rawdate.setSeconds(rawdate.getSeconds() + addSecond));
var res = format(resDate, "yyyy-MM-dd hh:mm:ss");
console.log(res);// js字符串转日期Date
// 字符串格式:2020-10-13 12:00:01
function stringToDate(strDate) {var tempStrs = strDate.split(" ");var dateStrs = tempStrs[0].split("-");var year = parseInt(dateStrs[0], 10);var month = parseInt(dateStrs[1], 10) - 1;var day = parseInt(dateStrs[2], 10);var timeStrs = tempStrs[1].split(":");var hour = parseInt(timeStrs [0], 10);var minute = parseInt(timeStrs[1], 10);var second = parseInt(timeStrs[2], 10);var date = new Date(year, month, day, hour, minute, second);return date;
}// js日期Date格式化为字符串
// 字符串格式:2020-10-13 12:00:01
function format(date, fmt) {var o = {"M+": date.getMonth() + 1, //月份"d+": date.getDate(), //日"h+": date.getHours(), //小时"m+": date.getMinutes(), //分"s+": date.getSeconds(), //秒"q+": Math.floor((date.getMonth() + 3) / 3), //季度"S": date.getMilliseconds() //毫秒};if (/(y+)/.test(fmt)) {fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));}for (var k in o) {if (new RegExp("(" + k + ")").test(fmt)) {fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ?(o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));}}return fmt;
}

js 在一个日期上面加上指定时间(几小时、几分钟、几秒)相关推荐

  1. js对日期加减指定天、时、分、秒

    在前端编程中,经常需要对日期进行加减天.时.分.秒的操作,例如使用JS实现日期的倒计时.类似于C#中的AddDays.AddHours等,下面介绍在js中对日期加减的方法. 例如:当前日期为 2016 ...

  2. go time.Sleep睡眠指定时间(小时级到纳秒级)

    go用来指定睡眠时间的函数为time.Sleep,接口为: // Sleep pauses the current goroutine for at least the duration d. // ...

  3. 计算当前时间到指定日期之间距离多久(494天11866小时711960分钟42717625秒)

    import java.time.Duration; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter ...

  4. python获取年末,月末,季末的日期和距指定时间的天数

    我们在python日常使用中经常会用到时间的各种计算,这个也是让人头疼的地方,下面的方法实现了 年末,月末,季末的日期和距指定时间的天数的计算,要的拿去.自己也做个笔记.后面直接用. def last ...

  5. Java获取指定时间之后的几分钟

    1.获取指定时间之后的几分钟 public static String getFiveMinAfter(String time) throws ParseException {SimpleDateFo ...

  6. js中关于时间的转化——将秒/毫秒转化成xx小时xx分钟xx秒

    转载出处:https://blog.csdn.net/ch5256865/article/details/52084484 //将毫秒秒转化为xx小时xx分钟xx秒 function Millisec ...

  7. python的datetime举例_Python datetime库计算两个时间点之间的分钟(秒、天)数

    计算两个时间点之间的分钟数 import datetime def minNums(startTime, endTime): '''计算两个时间点之间的分钟数''' # 处理格式,加上秒位 start ...

  8. 获取当前的系统时间 年-月-日 小时-分钟-秒

    获取当前的系统时间 年-月-日 小时-分钟-秒 代码如下: NSDate * newDate = [NSDate date]; //实例化一个NSDateFormatter对象 NSDateForma ...

  9. 计算日期时间间隔,可计算情侣计算在一起的。精确到,天,时,分,秒(输入的日期距离现在有:819天19670小时1180221分钟70813262秒)

    import java.time.Duration; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter ...

最新文章

  1. 突破磁盘低级检测实现文件隐藏
  2. python画三维几何图-Python下opencv使用笔记(二)(简单几何图像绘制)
  3. APP和网站应该选择云主机还是服务器呢?
  4. 【Linux】17_计划任务
  5. 素数p阶群乘法循环群啥意思_抽象代数2-3 群元素的阶和循环群
  6. 1270: [BeijingWc2008]雷涛的小猫
  7. JS跳转手机QQ的聊天页面
  8. 数据不平衡处理_如何处理多类不平衡数据说不可以
  9. 山东省第八届 ACM 省赛 sum of power(SDUT 3899)
  10. 计算机视觉基础---图像处理(几何变换)cpp+python
  11. java itextpdf使用HTML模板生成pdf文件,并设置table
  12. 你说话的方式,决定了你的命运!
  13. 实习阶段修改的第一个bug(完成了一个需求)
  14. Informatic学习总结_day02
  15. 小程序--下拉刷新/上拉触底
  16. 解决炉石传说战网无法更新问题
  17. 工控网络安全防护分析与建议
  18. 弹性文件服务(Scalable File Service,SFS)
  19. 查询你的手机或者邮箱注册过那些网站
  20. linux定时 top、netstat 输出到文件

热门文章

  1. cocos2d-x 键盘按住事件 实现人物的连续移动
  2. 计算机病毒作文300,我vs电脑的作文300字
  3. uniapp添加水印
  4. 如何配置一台支持6块RTX3090静音级深度学习工作站
  5. 富途网络科技测试笔试题
  6. vue+iView实现导入与导出excel功能
  7. 程序员适当来点经济头脑
  8. Spring和SpringBoot简介
  9. 解压命令tar zxvf中zxvf的意思
  10. 【Python】实现csv文件转json文件