分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

JS如何按时间粒度获取date的时间差

发布时间:2023-09-06 01:33责任编辑:郭大石关键词:暂无标签

获取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 Datevar 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; ??} 

  

JS如何按时间粒度获取date的时间差

原文地址:https://www.cnblogs.com/Begin-Vic/p/8134815.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved