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中的isNaN函数使用说明
Nov 10 Javascript
cookie的复制与使用记住用户名实现代码
Nov 04 Javascript
JSON字符串转JSON对象
Jul 31 Javascript
浅谈jQuery添加的HTML,JS失效的问题
Oct 05 Javascript
js 实现一些跨浏览器的事件方法详解及实例
Oct 27 Javascript
js实现键盘自动打字效果
Dec 23 Javascript
微信小程序 支付功能开发错误总结
Feb 21 Javascript
JS实现同一DOM元素上onClick事件与onDblClick事件并存的解决方法
Jun 07 Javascript
如何在JavaScript中优雅的提取循环内数据详解
Mar 04 Javascript
多个vue子路由文件自动化合并的方法
Sep 03 Javascript
vue动态禁用控件绑定disable的例子
Oct 28 Javascript
Vue实现简单的拖拽效果
Aug 25 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/12/08 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
Javascrip实现文字跳动特效
2016/11/27 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
Vue.js进行查询操作的实例详解
2017/08/25 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
2019/09/02 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
打造完美自荐信
2014/01/24 职场文书
个人委托书格式
2014/04/04 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
单位车辆管理制度
2015/08/05 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
MySQL 百万级数据的4种查询优化方式
2021/06/07 MySQL
Tomcat配置访问日志和线程数
2022/05/06 Servers