JS如何按时间粒度获取date的时间差
2024-08-30 00:27:58
获取date类型
var type = _xAxis[0].split(/-|:|\s/).length;
按时间粒度获取date的时间差
function getDateDiffByType(newDate,endDate,type){
newDate = new Date(newDate) == 'Invalid Date' ? newDate+':00' : newDate;
endDate = new Date(endDate) == 'Invalid Date' ? endDate+':00' : endDate;
var dateDiff = new Date(endDate)-new Date(newDate);
var _date = new Date(dateDiff);
var year = _date.getFullYear() - 1970;
var month = _date.getMonth();
switch (type) {
case 1: {
return year;
break;
}
case 2: {
return month+year*12;
break;
}
case 3: {
return dateDiff/1000/60/60/24;
break;
}
case 4: {
return dateDiff/1000/60/60;
break;
}
case 5: {
return dateDiff/1000/60;
break;
}
case 6: {
return dateDiff/1000;
break;
}
}
}
附:date按时间粒度格式化
function dateFmtByType( _date,_type) {
_date = new Date(_date) == 'Invalid Date' ? _date+':00' : _date;//"2017-02-12 12"是Invalid Date
var date = new Date(_date);
var fmt = ["yyyy","yyyy-MM","yyyy-MM-dd","yyyy-MM-dd hh","yyyy-MM-dd hh:mm","yyyy-MM-dd hh:mm:ss"];
return date.dateFormat(fmt[_type-1]);
}
附:date格式化代码("yyyy-MM-dd hh:mm:ss")
Date.prototype.dateFormat = function(fmt)
{ //author: meizz
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
}
最新文章
- log4j相对路径找不到,处理方法
- HC-05初探
- Radar Installation
- Java的加密与解密
- HDOJ 2167 Pebbles (状态压缩dp)
- replace()、replaceFirst()和replaceAll()的区别
- List<;Map<;String,String>;>;操作(遍历,比较)
- Windows8 正式版最简单的去除桌面水印方法
- 2014.7.8模拟赛【笨笨当粉刷匠】|bzoj1296 [SCOI]粉刷匠
- pl/sql连接远程服务器
- windows程序设计读书笔记4——字符显示3
- linux c socket programming
- 线上Java程序导致服务器CPU占用率过高的问题排除过程
- 自定义progressDialog(数据加载框)的实现
- ubuntu16.04安装中文输入法
- Sql Server登录失败问题
- Python字典的使用与处理
- Hyper-V、Esxi虚机还原,远程重启(关机)
- set_union和set_intersection
- mysql 添加外键详解