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 相关文章推荐
IE中直接运行显示当前网页中的图片 推荐
Aug 31 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
Apr 26 Javascript
JavaScript 基本概念
Jan 20 Javascript
js+cookies实现悬浮购物车的方法
May 25 Javascript
JavaScript的jQuery库插件的简要开发指南
Aug 12 Javascript
BootStrap表单控件之文本域textarea
May 23 Javascript
微信小程序动态添加分享数据
Jun 14 Javascript
vue router下的html5 history在iis服务器上的设置方法
Oct 18 Javascript
在Vue中使用Compass的方法
Mar 02 Javascript
vue实现打印功能的两种方法
Sep 07 Javascript
微信小程序HTTP接口请求封装代码实例
Sep 05 Javascript
微信小程序onShareTimeline()实现分享朋友圈
Jan 07 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
PHP单元测试框架PHPUnit用法详解
2019/01/23 PHP
ArrayList类(增强版)
2007/04/04 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
深入理解JS DOM事件机制
2016/08/06 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
Python字符串中查找子串小技巧
2015/04/10 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
python如何删除文件中重复的字段
2019/07/16 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
Python json转字典字符方法实例解析
2020/04/13 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
求职简历自荐信
2013/10/20 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
实习公司领导推荐函
2014/05/21 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
律师授权委托书范本
2014/10/07 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
2014年药房工作总结
2014/11/22 职场文书
大学毕业生个人总结
2015/02/28 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
Python语言规范之Pylint的详细用法
2021/06/24 Python
MySQL索引是啥?不懂就问
2021/07/21 MySQL