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 相关文章推荐
JavaScript监测ActiveX控件是否已经安装过的代码
Sep 02 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
Nov 21 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
Apr 25 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
May 07 Javascript
jQuery AjaxUpload 上传图片代码
Feb 02 Javascript
浅谈javascript的call()、apply()、bind()的用法
Feb 21 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
Aug 29 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
Feb 10 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
BootStrap注意事项小结(五)表单
Mar 10 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
jQuery实现聊天对话框
Feb 08 jQuery
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
php邮件发送,php发送邮件的类
2011/03/24 PHP
php操作SVN版本服务器类代码
2011/11/27 PHP
PHPThumb图片处理实例
2014/05/03 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
javascript 获取表单file全路径
2009/12/31 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
页面图片浮动左右滑动效果的简单实现案例
2014/02/10 Javascript
Jquery实现瀑布流布局(备有详细注释)
2015/07/31 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
基于webpack.config.js 参数详解
2018/03/20 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
python函数装饰器用法实例详解
2015/06/04 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
python 实现两个npy档案合并
2020/07/01 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
学生宿舍管理制度
2014/01/30 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
学习党代会心得体会
2014/09/05 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
2014年采购工作总结
2014/11/20 职场文书
银行自荐信范文
2015/03/25 职场文书
《1942》观后感
2015/06/08 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
Go中的条件语句Switch示例详解
2021/08/23 Golang