js 日期工具类
来源:互联网 发布:免费收据打印软件 编辑:程序博客网 时间:2024/05/20 12:22
//扩展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)) { var replaceWith; if (RegExp.$1.length == 1) replaceWith = o[k]; else if (k == "S+") replaceWith = ("000" + o[k]).substr(("" + o[k]).length); else replaceWith = ("00" + o[k]).substr(("" + o[k]).length); format = format.replace(RegExp.$1, replaceWith); } } return format;}/** * inputDateStr 必须与 inputFormat 一一对应且等长 * yyyy-MM-dd hh:mm:ss * @param inputDateStr * @param inputFormat * @returns {Date} */function strToDate(inputDateStr, inputFormat) { var cur = new Date(); var obj = { y: cur.getYear(), M: 1, d: 1, h: 0, m: 0, s: 0, S: 0 }; // 预处理, 删除format 中 yMdhmsS 之外的字符, 同时删除str对应的字符 var str = ""; var format = ""; for (var i=0; i<inputFormat.length; ++i) { if ("yMdhmsS".indexOf(inputFormat.charAt(i)) >= 0) { str += inputDateStr[i]; format += inputFormat[i]; } } var startIdx=0, endIdx; while (startIdx < format.length) { var startChar = format.charAt(startIdx); endIdx = startIdx+1; while (endIdx < format.length && format.charAt(endIdx) == startChar) ++endIdx; obj[startChar] = parseInt(str.substring(startIdx, endIdx)); startIdx = endIdx; } return new Date(obj.y, obj.M - 1, obj.d, obj.h, obj.m, obj.s, obj.S);}/** *转换日期对象为日期字符串 * @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);}
阅读全文
0 0
- js 日期工具类
- JS日期处理工具类
- JS日期处理工具类
- JS 日期时间工具类
- 前端js日期工具类
- js 日期格式化工具类
- js 日期处理工具类
- JS日期的处理工具类
- js操作日期工具
- js-年月日期选择工具
- 工具类-日期工具类
- [Javascript] Js 计算、格式化日期工具
- js 日期工具,获取一个间断时间
- js格式化日期时间的工具方法
- 日期工具类
- 日期工具类
- 日期工具类
- java日期工具类
- java 集合之map集合介绍
- 金融领域还款算法
- css-sprites简单使用
- 【网络】TCP/IP连接为什么是三次握手?
- TACACS+技术
- js 日期工具类
- 17AHU排位赛2 E题(树上最大匹配,树形DP)
- 命令行 降低IE版本 IE11降到IE8
- service工作过程
- 传统基础图片压缩:先尺寸压缩后质量压缩
- Objective-c 中保留小数点后几位
- Mybatis映射pojo包含pojo
- 关于跨线程操作的心得
- mysql:distinct与group by 效率对比