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实现Enter键跳转及控件获得焦点
Aug 12 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
Feb 25 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
Mar 28 Javascript
jQuery设置图片等比例缩小的方法
Apr 29 jQuery
Ionic项目中Native Camera的使用方法
Jun 07 Javascript
JS实现颜色的10进制转化成rgba格式的方法
Sep 04 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
Sep 05 Javascript
Vue使用json-server进行后端数据模拟功能
Apr 17 Javascript
vue中的provide/inject的学习使用
May 09 Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
Dec 06 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
Mar 24 Javascript
vue项目中自定义video视频控制条的实现代码
Apr 26 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缓存类完整实例
2014/07/26 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
jquery 上下滚动广告
2009/06/17 Javascript
js 学习笔记(三)
2009/12/29 Javascript
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
关于document.cookie的使用javascript
2010/10/29 Javascript
常用Extjs工具:Extjs.util.Format使用方法
2012/03/22 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
jquery获取当前点击对象的value方法
2014/02/28 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
vue 路由页面之间实现用手指进行滑动的方法
2018/02/23 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
2018/09/26 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
JavaScript解析及序列化JSON的方法实例分析
2019/01/04 Javascript
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
python实现电子词典
2020/03/03 Python
Python Django view 两种return的实现方式
2020/03/16 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
师德建设实施方案
2014/03/21 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle