javascript中一些奇葩的日期换算方法总结


Posted in Javascript onNovember 14, 2018

前言

本文给大家总结了一些关于javascript奇葩的日期换算方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

日期换算

1.获取今天的0时0分0秒(常用于开始日期的获取)

new Date(new Date().toLocaleDateString()); // Mon Nov 12 2018 00:00:00 GMT+0800 (中国标准时间)

2.获取一个月前的日期

new Date(new Date().setMonth(new Date().getMonth()-1)); //Fri Oct 12 2018 17:20:07 GMT+0800 (中国标准时间)

3.获取一个月前的0时0分0秒

new Date(new Date(new Date().toLocaleDateString()).setMonth(new Date().getMonth()-1));
//Fri Oct 12 2018 00:00:00 GMT+0800 (中国标准时间)

4.获取前一天的日期

new Date(new Date().setDate(new Date().getDate()-1)); // Sun Nov 11 2018 17:21:56 GMT+0800 (中国标准时间)

5. 加一天

var dateTime=new Date();
dateTime=dateTime.setDate(dateTime.getDate()+1);
dateTime=new Date(dateTime); // Tue Nov 13 2018 17:24:32 GMT+0800 (中国标准时间)

6. 减一天

var dateTime=new Date();
dateTime=dateTime.setDate(dateTime.getDate()-1);
dateTime=new Date(dateTime); // Sun Nov 11 2018 17:25:12 GMT+0800 (中国标准时间)

7.获取今天的23时59分59秒

new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60*1000-1); // Mon Nov 12 2018 23:59:59 GMT+0800 (中国标准时间)

7.获取昨天的23时59分59秒

var dateTime = new Date()
dateTime = dateTime.setDate(dateTime.getDate() -1 )
dateTime = new Date(new Date(new Date(dateTime).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1)
// Sun Nov 11 2018 23:59:59 GMT+0800 (中国标准时间)

8.获取明天的23时59分59秒

var dateTime = new Date()
dateTime = dateTime.setDate(dateTime.getDate() + 1 )
dateTime = new Date(new Date(new Date(dateTime).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) 
// Tue Nov 13 2018 23:59:59 GMT+0800 (中国标准时间)

8.获取当前时间的明天的23时59分59秒

var curTime = 'Wed Nov 14 2018 17:38:31 GMT+0800 (中国标准时间)';
var dateTime = new Date(curTime)
dateTime = dateTime.setDate(dateTime.getDate() + 1 )
dateTime = new Date(new Date(new Date(dateTime).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) 
// Thu Nov 15 2018 23:59:59 GMT+0800 (中国标准时间)

9.获取当前时间的昨天的23时59分59秒

var curTime = 'Wed Nov 14 2018 17:38:31 GMT+0800 (中国标准时间)';
var dateTime = new Date(curTime)
dateTime = dateTime.setDate(dateTime.getDate() - 1 )
dateTime = new Date(new Date(new Date(dateTime).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1) 
// Tue Nov 13 2018 23:59:59 GMT+0800 (中国标准时间)

10.距离活动截止还差几小时几分几秒(倒计时)

var endTime = function (startTime) {
 setInterval(
  function(){
   var str = '';
   var date1 = new Date(startTime); //开始时间
   var date2 = new Date();  //结束时间
   var date3 = date1.getTime() - date2.getTime(); //时间差的毫秒数
   if (date3>0){
    // //计算相差的年数
    // var years = Math.floor(date3 / (12 * 30 * 24 * 3600 * 1000));
    // //计算相差的月数
    var leave = date3 % (12 * 30 * 24 * 3600 * 1000);
    // var months = Math.floor(leave / (30 * 24 * 3600 * 1000));
    // //计算出相差天数
    var leave0 = leave % (30 * 24 * 3600 * 1000);
    var days = Math.floor(date3 / (24 * 3600 * 1000));
    //计算出小时数
    var leave1 = leave0 % (24 * 3600 * 1000);  //计算天数后剩余的毫秒数
    var hours = Math.floor(leave1 / (3600 * 1000));
    //计算相差分钟数
    var leave2 = leave1 % (3600 * 1000);   //计算小时数后剩余的毫秒数
    var minutes = Math.floor(leave2 / (60 * 1000));
    //计算相差秒数
    var leave3 = leave2 % (60 * 1000);  //计算分钟数后剩余的毫秒数
    var seconds = Math.round(leave3 / 1000);
    if (days > 0){
     str += '<span>'+ days +'</span>天';
    }
    if (hours > 0){
     str += '<span>'+ hours +'</span>小时';
    }
    str += '<span>'+ minutes +'</span>分钟<span>'+ seconds +'</span>秒';
   }else {
    str = '已过期'
   }
   console.log(str)
  },1000
 );
};

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
EasySlider 基于jQuery功能强大简单易用的滑动门插件
Jun 11 Javascript
jQuery前端框架easyui使用Dialog时bug处理
Dec 05 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
javascript实现动态加载CSS
Jan 26 Javascript
javascript验证身份证号
Mar 03 Javascript
浅析angularJS中的ui-router和ng-grid模块
May 20 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
Oct 24 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
Jan 31 Javascript
Angular CLI在Angular项目中如何使用scss详解
Apr 10 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
Jan 06 Javascript
vue 路由守卫(导航守卫)及其具体使用
Feb 25 Javascript
element vue Array数组和Map对象的添加与删除操作
Nov 14 #Javascript
ES6 fetch函数与后台交互实现
Nov 14 #Javascript
vue-cli3全面配置详解
Nov 14 #Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 #Javascript
laydate时间日历插件使用方法详解
Nov 14 #Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 #jQuery
你应该了解的JavaScript Array.map()五种用途小结
Nov 14 #Javascript
You might like
数字转英文
2006/12/06 PHP
PHP 编程的 5个良好习惯
2009/02/20 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
php实现网页端验证码功能
2017/07/11 PHP
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
对pandas进行数据预处理的实例讲解
2018/04/20 Python
用Python逐行分析文件方法
2019/01/28 Python
Python使用pyserial进行串口通信的实例
2019/07/02 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
幼师自我鉴定范文
2013/10/01 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
授权委托书格式模板
2014/04/03 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
运动会口号8字
2014/06/07 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
战友聚会致辞
2015/07/28 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
汽车销售员工作总结
2015/08/12 职场文书
新员工入职感言范文!
2019/07/04 职场文书
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫