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 相关文章推荐
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
Nov 09 Javascript
基于jQuery的计算文本框字数的代码
Jun 06 Javascript
jQuery filter函数使用方法
May 19 Javascript
jquery实现全选功能效果的实现代码
May 05 Javascript
浅谈JS的基础类型与引用类型
Sep 13 Javascript
微信小程序 详解Page中data数据操作和函数调用
Jan 12 Javascript
Jquery把获取到的input值转换成json
May 15 jQuery
详解webpack模块化管理和打包工具
Apr 21 Javascript
Vue动态获取width的方法
Aug 22 Javascript
详解Vue.js在页面加载时执行某个方法
Nov 20 Javascript
了解javascript中的Dom操作
May 27 Javascript
Vue实现星级评价效果实例详解
Dec 30 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
优化PHP代码技巧的小结
2013/06/02 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
Javascript 篱式条件判断
2008/08/22 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
Vue不能观察到数组length的变化
2018/06/08 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
Python中的choice()方法使用详解
2015/05/15 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
python保存log日志,实现用log日志画图
2019/12/24 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
Linux内核产生并发的原因
2012/07/13 面试题
会计实习自我鉴定
2013/12/04 职场文书
副总经理岗位职责
2014/03/16 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
党员自评材料范文
2014/12/17 职场文书
cf战队宣传语
2015/07/13 职场文书
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android