js时间格式化函数(兼容IOS)
2024-10-19 06:17:26
* 时间格式化
* @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#格式化的标准
最新文章
- linux查看安装文件
- 原创:经验分享:微信小程序外包接单常见问题及流程
- struts-标签
- push splice filter用法
- bzoj2054 疯狂的馒头
- 用hoverclock插件实现HTML5时钟
- CSS Layout
- checkbox 与JS的应用
- python 文件移动(shutil)
- Django模型层之字段查询参数及聚合函数
- html5中的indexDB
- linux安装tomcat部署web项目
- 人生苦短,我用Python——博客目录
- lnmp架构搭建实例
- ubuntu16.04 程序开机自启动设置及启动优化
- LINUX 查找tomcat日志关键词
- jion()说明
- lvs+keepalived+bind实现负载均衡高可用智能dns【转】
- 纸壳CMS的插件加载机制
- Android Fragment解析(上)
热门文章
- .net mvc ajax 上传文件
- CF86D Powerful array
- poj 2299 Ultra-QuickSort(树状数组)
- C++11 自动推导auto
- Philosopher
- AIO + ByteBufferQueue + allocateDirect 终于可以与NIO的并发性能达到一致。
- box-sizing border-box 的理解
- Centos6.6下编译安装Apache2.2.31
- CentOS7安装新版git
- matplotlib交互模式与pacharm单独Figure设置