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 相关文章推荐
图片自动缩小 点击放大
Jul 07 Javascript
js实现获取div坐标的方法
Nov 16 Javascript
Node.js操作Firebird数据库教程
Mar 04 Javascript
使用 stylelint检查CSS_StyleLint
Apr 28 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
Jun 07 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
Oct 26 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
May 03 Javascript
详解react-router如何实现按需加载
Jun 15 Javascript
深入理解Vue 组件之间传值
Aug 16 Javascript
node app 打包工具pkg的具体使用
Jan 17 Javascript
详解用Webpack与Babel配置ES6开发环境
Mar 12 Javascript
Vue事件修饰符native、self示例详解
Jul 09 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
用PHP实现图象锐化代码
2007/06/14 PHP
php懒人函数 自动添加数据
2011/06/28 PHP
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
JS常见算法详解
2017/02/28 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
JS数组求和的常用方法总结【5种方法】
2019/01/14 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
python计算两个数的百分比方法
2018/06/29 Python
python实现最大优先队列
2019/08/29 Python
关于Python-faker的函数效果一览
2019/11/28 Python
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
办公室文秘自我评价
2013/09/21 职场文书
最新大学职业规划书范文
2013/12/30 职场文书
五四青年节的活动方案
2014/08/20 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
学校领导班子群众路线整改措施
2014/09/16 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python