* 时间格式化
* @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#格式化的标准

最新文章

  1. linux查看安装文件
  2. 原创:经验分享:微信小程序外包接单常见问题及流程
  3. struts-标签
  4. push splice filter用法
  5. bzoj2054 疯狂的馒头
  6. 用hoverclock插件实现HTML5时钟
  7. CSS Layout
  8. checkbox 与JS的应用
  9. python 文件移动(shutil)
  10. Django模型层之字段查询参数及聚合函数
  11. html5中的indexDB
  12. linux安装tomcat部署web项目
  13. 人生苦短,我用Python——博客目录
  14. lnmp架构搭建实例
  15. ubuntu16.04 程序开机自启动设置及启动优化
  16. LINUX 查找tomcat日志关键词
  17. jion()说明
  18. lvs+keepalived+bind实现负载均衡高可用智能dns【转】
  19. 纸壳CMS的插件加载机制
  20. Android Fragment解析(上)

热门文章

  1. .net mvc ajax 上传文件
  2. CF86D Powerful array
  3. poj 2299 Ultra-QuickSort(树状数组)
  4. C++11 自动推导auto
  5. Philosopher
  6. AIO + ByteBufferQueue + allocateDirect 终于可以与NIO的并发性能达到一致。
  7. box-sizing border-box 的理解
  8. Centos6.6下编译安装Apache2.2.31
  9. CentOS7安装新版git
  10. matplotlib交互模式与pacharm单独Figure设置