js时间的一些处理
1.判断是否为同一天
function isSameFay(t) {
return new Date(t).toDateString() === new Date().toDateString();
}
2. 将时间字符串转换为时间戳NAN
var data = "2019-01-22 11:11:11";
//将"-"换成"/",IOS不支持‘-’
var time = data.replace(/-/g, '/');
//转换成时间戳
time = new Date(time).getTime()
3.时间戳转化为字符串
function timestampTransformStrDate(timestamp, type){ //type 1 XX-XX-XX XX:XX:XX; 2 XX月XX日XX:XX
var myDate = timestamp || new Date();
//获取当前年
var year = myDate.getFullYear();
//获取当前月
var month = myDate.getMonth() + 1;
//获取当前日
var day = myDate.getDate();
var h = myDate.getHours(); //获取当前小时数(0-23)
var m = myDate.getMinutes(); //获取当前分钟数(0-59)
var s = myDate.getSeconds();
//获取当前时间
var now
if (type == 1) {
now = year + '-' + conver(month) + "-" + conver(day) + " " + conver(h) + ':' + conver(m) + ":" + conver(s);
} else if (type == 2) {
now = conver(month) + "月" + conver(day) + "日" + conver(h) + ':' + conver(m);
}
return now;
}
//日期时间处理
function conver(s) {
return s < 10 ? '0' + s : s;
}
4.字符串转化为时间
function getDateFromString(dateString) {
var parts = dateString.split(' ');
if(parts.length < 1) {
return null;
}
var part1 = parts[0].split('-');
if(part1.length != 3) {
return null;
}
var d = new Date(part1[0], part1[1] - 1, part1[2]);
if(parts[1] && d) {
var part2 = parts[1].split(':');
if(part2) {
d.setHours(part2[0]);
d.setMinutes(part2[1]);
d.setSeconds(part2[2]);
}
}
return d;
}
5.比较日期大小
function compDate(date1, date2) {
var a = Date.parse(date1) - Date.parse(date2);
// console.log("a:"+a);
if(a < 0) {
// console.log("date1小!");
} else if(a > 0) {
// console.log("date1大!");
} else if(a == 0) {
// console.log("时间相等!");
} else {
return 'exception';
}
return a;
}
6.设置剩余时间
var timeFlag = false
var timeLeftTimer = setInterval(function() {
setTimeLeft('2019-12-18 15:00:00')
}, 1000) //设置剩余时间
function setTimeLeft(endTime) {
endTimestamp = strDateTransformTimestamp(endTime)
var timeLeft = endTimestamp - new Date().getTime()
if (timeLeft <= 0) {
timeFlag = true
}
var timeLeftD = parseInt(timeLeft / 86400000) //剩余天数
var timeLeftH = parseInt((timeLeft % 86400000) / 3600000) //剩余小时数
var timeLeftM = parseInt((timeLeft % 3600000) / 60000) //剩余分钟数
var timeLeftS = parseInt((timeLeft % 60000) / 1000) //剩余秒数
var timeLeftStr = timeLeftD + '天' + timeLeftH + '小时' + timeLeftM + '分' + timeLeftS + '秒'
// console.log(timeLeftStr)if (timeFlag) {
clearInterval(timeLeftTimer)
}
} //日期转换为时间戳
function strDateTransformTimestamp(str) { //str '2015-03-05 17:59:00'
str = str.substring(0,19);
str = str.replace(/-/g,'/');
return new Date(str).getTime();
}
7.获取当前时间格式化
function getDate(){
var myDate = new Date();
//获取当前年
var year = myDate.getFullYear();
//获取当前月
var month = myDate.getMonth() + 1;
//获取当前日
var date = myDate.getDate();
var h = myDate.getHours(); //获取当前小时数(0-23)
var m = myDate.getMinutes(); //获取当前分钟数(0-59)
var s = myDate.getSeconds();
//获取当前时间
var now = year + '-' + conver(month) + "-" + conver(date) + " " + conver(h) + ':' + conver(m) + ":" + conver(s);
return now;
}
//日期时间处理
function conver(s) {
return s < 10 ? '0' + s : s;
}
8.时间处理
function handleDate(date, isHasHMS, days) { //isHasHMS是否需要时分秒,date时间,days增加多少天
var myDate = ''
if (date) {
myDate = new Date(date)
} else {
myDate = new Date()
}
if (days == undefined || days == '') {
days = 0
}
myDate.setDate(myDate.getDate() + days)
var year = myDate.getFullYear() //获取当前年
var month = myDate.getMonth() + 1 //获取当前月
var day = myDate.getDate() //获取当前日
var hour = myDate.getHours() //获取当前小时数(0-23)
var minute = myDate.getMinutes() //获取当前分钟数(0-59)
var second = myDate.getSeconds() //获取当前秒(0-59)
//获取当前时间
if (isHasHMS) {
date = year + '-' + this.conver(month) + "-" + this.conver(day) + " " + this.conver(hour) + ':' + this.conver(minute) + ":" + this.conver(second)
} else {
date = year + '-' + this.conver(month) + "-" + this.conver(day)
}
return date
}
conver(s) {
return s < 10 ? '0' + s : s
}
js时间的一些处理的更多相关文章
- js 时间构造函数
js 时间构造函数,js中没有类似ToString("yyyy-mm-dd HH:mm:ss") 的方法,但是可以用下面的方式来初始化 var cdate = new Date(& ...
- js时间倒计时
看了网上的其他的例子,觉得写的都有点复杂,不好理解,于是自己动手写了个. 本来想封装成jquery插件,但是觉得因为功能很简单,没有必要做成jquery插件,引用的时候不需要引入jqery库,这里直接 ...
- js 时间处理
1.格式化时间 function GetDateTimeFormatter(value) { if (value == undefined) { return &q ...
- Js 时间与字符串转示例
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- js获取当前时间,js时间函数
Js获取当前日期时间及其它操作,js时间函数 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); ...
- js 时间函数 及相关运算大全
js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); ...
- js时间过滤方法
js时间过滤 自己写的 记录一下 /** * * 过滤时间格式 * Created by Catlina at 2019.4.26 */ export const setTime = time = ...
- js 时间类函数
js 时间类是 Date() var currtime = new Date();// 实例一个时间,是当前时间 接收一个时间戳为参数 var time2=new Date(currtime.get ...
- js 时间格式化 (兼容safari)
js 时间格式化,兼容IE8和safari浏览器. function formatDate(date, fmt, near, type) { var dateStr = date; if (!date ...
- js时间格式化函数,支持Unix时间戳
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- docker postgresql 数据库
1. 使用docker 镜像 获取镜像:docker pull postgres:9.4 启动: docker run --name postgres1 -e POSTGRES_PASSWORD=pa ...
- 9、Python复杂数据类型(list、tuple、set、dict)
一.列表(list):[a1,a2],可变数据类型 1.序列: 序列是基类类型,序列扩展类型包括:字符串.元组和列表 序列都可以进行的操作包括索引,切片,加,乘,检查成员. 此外,Python已经内置 ...
- Django REST framework版本控制
参考链接:https://www.cnblogs.com/liwenzhou/p/10269268.html 1.路由: #版本控制 re_path('^(?P<version>[v1|v ...
- FFT/NTT [51Nod 1028] 大数乘法 V2
题目链接:51Nod 传送门 没压位,效率会低一点 1.FFT #include <cstdio> #include <cstring> #include <algori ...
- javascript 终极循环方法for... of ..推荐
js目前有很多的循环方法,如for, forEach, for .. in, for of 等等,而在ES6里面,我们又增加了一些数据结构,比如set,map,Symbol等. 那么我们该选取哪一 ...
- 2019.12.10 定义数组及java内存划分
//数据类型[ ] 数组名 = new 数据类型[元素个数或数组长度]; int[] x = new int[100]; //类型[] 数组名 = new 类型[]{元素,元素,……}; String ...
- 数组(定义、遍历、冒泡排序、合并和Join 方法)
一.数组的定义 1.理解:数组指一组数据,有序的数据,可以一次性存储多个数据,将多个元素(通常统一类型)按照一定的顺序排列放到一个集合里 2.通过构造函数创建数组: var 数组名=new Arrar ...
- anki的使用以及anki server的配置
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/anki_and_anki_server 首先吐槽,anki作为老 ...
- Ubuntu 安装MySQL报共享库找不到
错误信息1: ./mysqld: error : cannot open shared object file: No such file or directory 解决办法:安装改库 # apt-g ...
- RocketMq重复消费问题排查
前情 出现了重复消费的问题,同一个消息被重复消费了多次,导致了用户端收到了多条重复的消息,最终排查发现,是因为消费者在处理消息的方法onMessage中有异常没有捕获到,导致异常上抛,被consume ...