js时间格式化函数(兼容IOS)
2017-07-19 14:18
537 查看
* 时间格式化 * @param {Object} dateObj 时间对象 * @param {String} fmt 格式化字符串 */ dateFormat(dateObj, fmt) { let date; if (this.isString(dateObj)) { date = this.strToDate(dateObj) } else if (this.isDate(dateObj)) { date=dateObj } else{ return "" } var o = { "M+": date.getMonth() + 1, //月份 "d+": date.getDate(), //日 "h+": date.getHours() % 12 == 0 ? 12 : date.getHours() % 12, //小时 "H+": date.getHours(), //小时 "m+": date.getMinutes(), //分 "s+": date.getSeconds(), //秒 "q+": Math.floor((date.getMonth() + 3) / 3), //季度 "S": date.getMilliseconds() //毫秒 }; var week = { "0": "日", "1": "一", "2": "二", "3": "三", "4": "四", "5": "五", "6": "六" }; if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear().toString() + "").substr(4 - RegExp.$1.length)); } if (/(E+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "星期" : "周") : "") + week[date.getDay().toString() + ""]); } for (var k in o) { if (new RegExp("(" + k + ")").test(fmt)) { fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k].toString()) : (("00" + o[k].toString()).substr(("" + o[k].toString()).length))); } } return fmt; }
/** * 字符串转换为时间 * @param {String} src 字符串 */ strToDate(dateObj){ dateObj = dateObj.replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '').replace(/(-)/g, '/') if (dateObj.indexOf(".")>0)dateObj = dateObj.slice(0, dateObj.indexOf(".")) return new Date(dateObj) }
使用方法:
第一个参数是个obj对象,当前只能是时间对象或者是时间字符串
第二个参数是格式化字符串,和C# 格式化规则一样,除了周的格式化,这里使用了'E'来格式化周几
这里是页面调用例子:
app.Tools.dateFormat("yyyy/MM/dd") 结果 2017/07/19
app.Tools.dateFormat("yyyy/MM/dd HH:mm:ss") 结果 2017/07/19 10:09:11
app.Tools.dateFormat("yyyy/MM/dd EE HH:mm:ss") 结果 2017/07/19 周三 10:09:11
其他的就不一一举例了,可以参考C#格式化的标准
相关文章推荐
- 原生js获取格式化的时间函数!
- 全面兼容的javascript时间格式化函数(比较实用)
- JS时间格式化函数
- JS代码获取当前日期时支持IE,不兼容FF和chrome,解决这个问题,我们需要把获取时间的getYear()函数换成getFullYear()
- js日期时间格式化函数 支持季度 24/12小时制 周 毫秒(Date扩展)
- 年月日时间格式转时间戳 ,ios系统不兼容 JS 中 = new Date(yyyy-mm-dd)方法
- js中定义函数格式化时间
- js---Date.parse()转化日期为时间戳,ios与Android兼容写法
- js时间格式化函数,支持Unix时间戳
- js日期时间格式化函数
- js时间日期格式化封装函数
- JS 时间格式化函数
- js时间戳格式化成日期格式函数
- javascript时间格式format函数,js日期格式化函数
- js时间戳格式化函数
- js 格式化时间函数
- JS 时间格式化函数
- 全面兼容的javascript时间格式化函数
- JS代码获取当前日期时支持IE,不兼容FF和chrome,解决这个问题,我们需要把获取时间的getYear()函数换成getFullYear()
- js格式化时间函数