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
);
};
一个笨笨的码农,我的世界只能终身学习!
原文地址:https://segmentfault.com/a/1190000016986925
javascript 中一些奇葩的日期换算的更多相关文章
- JavaScript 中的数字和日期类型
本章节介绍如何掌握Javascript里的数字和日期类型 数字EDIT 在 JavaScript 里面,数字都是双精度浮点类型的 double-precision 64-bit binary form ...
- javascript中的Date数据类型
javascript中,Date代表日期对象,其常见的用法如下: 一.Date的构造函数 有四种形式的Date构造函数,详见下面代码的注释: //1.构造函数没有参数,则返回当前日期的Date对象 v ...
- 谈谈javascript中的日期Date对象
一.日期对象 在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间. 日期对象的创建: new Date();二.将日期对象转换为字符串 将日期对象转换为字 ...
- javascript中关于日期和时间的基础知识
× 目录 [1]标准时间 [2]字符串 [3]闰年[4]月日[5]星期[6]时分秒 前面的话 在介绍Date对象之前,首先要先了解关于日期和时间的一些知识.比如,闰年.UTC等等.深入了解这些,有助于 ...
- JavaScript 中的日期和时间
前言 本篇的介绍涵盖以下部分: 1. 时间标准指的是什么?UCT和GMT 的概念.关联和区别? 2. 时间表示标准有哪些? 3. JS 中时间的处理 日期时间标准 日期的标准就不多说了 -- 公元纪年 ...
- JavaScript中的各种奇葩问题
原文:JavaScript中的各种奇葩问题 JavaScript浮点数 var a = (0.1 + 0.2) + 0.3; var b = 0.1 + (0.2 + 0.3); console.lo ...
- JavaScript中对日期格式化的新想法.
其实我们对与日期的显示,也就那么几种,不需要每次都传格式化字符串. 只要告诉函数你想要什么结果就好了,以下是在ios的JavaScript中我新写的日期格式化函数: /** 格式化日期 @param ...
- [译]在Javascript中进行日期相关的操作
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- JavaScript 中如何将日期格式化为 DD/MM/YYYY
在 JavaScript 中要将日期格式化为 dd/mm/yyyy .需要遵循以下步骤: 使用 getDate().getMonth() 和 getFullYear() 方法获取特定日期的日.月和年. ...
随机推荐
- ibatis的批处理
(1)spring模式:尽管spring已经配置了事务,但以下代码中还是要设置事务,不然batch不会起作用;另外这里虽然设了一下事务处理,但对全局事务并不会造成影响;注:不启用事务将建立多次连接,这 ...
- java的数组index[]方括号内是可以进行算数运算的
java的数组index[]方括号内饰可以进行算数运算的 如: String[] stringArray = testString.split("\\."); System.out ...
- ST Nucleo mbed套件开发 一 MBED环境使用 以Nucleo-F401为例 (二)
MBED环境.使用起来总是那么的别扭可能很多人不习惯用在线编程器,大多数做ST32开发的都比較喜欢KEIL或者IAR,有没有什么好的方法呢.我们能够本地编译MBEDproject, 答案是肯定了.下来 ...
- Blade - 腾讯开源的构建系统 c/c++编译环境
,Blade是软件project的利器.有助于模块化,模块化的力度控制自如.对于提高系统的可维护性.复杂性的隔离.代码复用的最大化.都有非常大的优点. 2,Blade提供了单元測试的最佳使用方式. 假 ...
- grpc mvn protobuf:compile 过程
grpc mvn protobuf:compile 过程 编写代码之后,直接使用 mvn protobuf:compile会报错,木有protoc.exe文件: 可以使用Terminal输入mvn命令 ...
- Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签
转载请注明出处:http://blog.csdn.net/xiaanming/article/details/10766053 之前用JakeWharton的开源框架ActionBarSherlock ...
- pcap文件生成metadata——使用tshark解析tcpdump的pcap包
pcap文件生成metadata #!/usr/bin/env python # -*- coding: utf-8 -*- import os import time, datetime impor ...
- 随机森林算法demo python spark
关键参数 最重要的,常常需要调试以提高算法效果的有两个参数:numTrees,maxDepth. numTrees(决策树的个数):增加决策树的个数会降低预测结果的方差,这样在测试时会有更高的accu ...
- DBS-MySQL:MYSQL获取自增ID的四种方法
ylbtech-DBS-MySQL:MYSQL获取自增ID的四种方法 1.返回顶部 1. 1. select max(id) from tablename 2.SELECT LAST_INSERT_I ...
- windows bat更改系统时间 & 同步internet时间
最近刚好用到一款软件学习版,30天试用期满,但是还想继续用,不具体透露是什么软件了. 发现更改了系统时间后,这个软件就又能启动了,不过每次改来改去很麻烦,就写了段脚本 @echo off date 1 ...