js 日期格式操作
来源:互联网 发布:java并行框架 编辑:程序博客网 时间:2024/06/07 01:51
//扩展Date的format方法 Date.prototype.format = function (format) { 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(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); } for (var k in o) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } } return format; } /** *转换日期对象为日期字符串 * @param date 日期对象 * @param isFull 是否为完整的日期数据, * 为true时, 格式如"2000-03-05 01:05:04" * 为false时, 格式如 "2000-03-05" * @return 符合要求的日期字符串 */ function getSmpFormatDate(date, isFull) { var pattern = ""; if (isFull == true || isFull == undefined) { pattern = "yyyy-MM-dd hh:mm:ss"; } else { pattern = "yyyy-MM-dd"; } return getFormatDate(date, pattern); } /** *转换当前日期对象为日期字符串 * @param date 日期对象 * @param isFull 是否为完整的日期数据, * 为true时, 格式如"2000-03-05 01:05:04" * 为false时, 格式如 "2000-03-05" * @return 符合要求的日期字符串 */ function getSmpFormatNowDate(isFull) { return getSmpFormatDate(new Date(), isFull); } /** *转换long值为日期字符串 * @param l long值 * @param isFull 是否为完整的日期数据, * 为true时, 格式如"2000-03-05 01:05:04" * 为false时, 格式如 "2000-03-05" * @return 符合要求的日期字符串 */ function getSmpFormatDateByLong(l, isFull) { return getSmpFormatDate(new Date(l), isFull); } /** *转换long值为日期字符串 * @param l long值 * @param pattern 格式字符串,例如:yyyy-MM-dd hh:mm:ss * @return 符合要求的日期字符串 */ function getFormatDateByLong(l, pattern) { return getFormatDate(new Date(l), pattern); } /** *转换日期对象为日期字符串 * @param l long值 * @param pattern 格式字符串,例如:yyyy-MM-dd hh:mm:ss * @return 符合要求的日期字符串 */ function getFormatDate(date, pattern) { if (date == undefined) { date = new Date(); } if (pattern == undefined) { pattern = "yyyy-MM-dd hh:mm:ss"; } return date.format(pattern); } //开始时间不能小于当前时间 function startTimeIsBigThanTotay(startTime){ var startdate = new Date((startTime).replace(/-/g,"/")); var date = new Date(); if(startdate < date) { return false; } else { return true; } } //结束时间不能小于当前时间 function endThanTotay(endTime){ var enddate = new Date((endTime).replace(/-/g,"/")); var nowdate = new Date(); if(enddate < nowdate) { return false; } else { return true; } } //结束时间不能小于开始时间 function endThanStart(startTime,endTime){ var startdate = new Date((startTime).replace(/-/g,"/")); var enddate = new Date((endTime).replace(/-/g,"/")); if(enddate < startdate) { return false; } else { return true; } } function diffTime(startDate,endDate) { if(endDate==""||endDate==undefined) endDate = new Date().getTime(); var diff=Math.abs(endDate - startDate);//时间差的毫秒数 //计算出相差天数 var days=Math.floor(diff/(24*3600*1000)); //计算出小时数 var daySecond=diff%(24*3600*1000); //计算天数后剩余的毫秒数 var hours=Math.floor(daySecond/(3600*1000)); //计算相差分钟数 var hourSecond=daySecond%(3600*1000); //计算小时数后剩余的毫秒数 var minutes=Math.floor(hourSecond/(60*1000)); //计算相差秒数 var minSecond=hourSecond%(60*1000); //计算分钟数后剩余的毫秒数 var seconds=Math.round(minSecond/1000); var returnStr = seconds + "秒"; if(minutes>0) { returnStr = minutes + "分" + returnStr; } if(hours>0) { returnStr = hours + "小时" + returnStr; } if(days>0) { returnStr = days + "天" + returnStr; } return returnStr; } function diffDate(startDate, endDate, type) { startDate = typeof startDate == 'string' ? new Date(startDate) : startDate; startDate = startDate.getTime(); endDate = typeof endDate == 'string' ? new Date(endDate) : endDate; endDate = endDate.getTime(); type = type || 'hour'; var diffValue = Math.abs(endDate - startDate); var second = 1000, minute = second * 60, hour = minute * 60, day = hour * 24, month = day * 30, year = month * 12; var timeType = { second: second, minute: minute, hour: hour, day: day, month: month, year: year }; return Math.ceil(diffValue / timeType[type]); }
阅读全文
0 0
- js 日期格式操作
- js日期操作之根据指定格式获取日期
- js中字符串转换日期格式,日期转换字符串,操作日期(如:加一天)
- js日期显示格式
- JS检验日期格式
- Js处理日期格式
- 日期格式比较 js
- js日期格式
- js 日期转换格式
- JS转换日期格式
- js日期格式转换
- JS日期格式设置
- JS控制日期格式
- js判断日期格式
- js判断日期格式
- JS日期格式判断
- JS日期格式判断
- js验证日期格式
- Caffe实践C++源码解读(1):如何跑demo
- 从txt文本中导入数据到Hive中
- html属性
- JS背景分裂效果
- Linux学习之CentOS(十一)--CentOS6.4下Samba服务器的安装与配置
- js 日期格式操作
- 安卓精品源码,android日历在线选座微博主页抽屉菜单原生指纹源码
- 欢迎使用CSDN-markdown编辑器
- GetCurrentDirectory、SetCurrentDirectory和GetModuleFileName
- java项目配置多个数据源,sping版本要4+以上
- Java基础01 从HelloWorld到面向对象
- UE4 FVector转四元数FQuat
- 反摩尔定律
- 我想做一辈子设计——姜公略