今天再来分享下Date的应用知识点

先看效果,类似于php里边的time('yyyy-mm-dd')用法,但是我这里没有完全依照php的参数格式来,如果有需要稍微修改一下就行。

首先,明确需要用到的参数:

1、时间戳,就是你需要格式化的时间戳;

2、格式字符串,类似于“yy-mm-dd”;

具体做法无非就是获取到“年、月、日、时、分、秒、星期”,然后做一对blabla的处理,不啰嗦,先上代码:

 function formateDate(strTime, format, needMap) {
strTime = Number(strTime);
format = format || 'Y-M-D H:I:S';
var date = new Date(strTime);
var dateMap = {
y: (date.getFullYear()+'').slice(2),
Y: date.getFullYear(),
M: date.getMonth() + 1,
D: date.getDate(),
h: date.getHours()%12,
H: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
I: date.getMinutes() > 9 ? date.getMinutes() : ('0' + date.getMinutes()),
S: date.getSeconds() > 9 ? date.getSeconds() : ('0' + date.getSeconds()),
A: date.getHours() >= 12 ? 'pm' : 'am',
w: date.getDay(),
W: ['日','一','二','三','四','五','六'][date.getDay()]
};
for (var k in dateMap) {
format = format.replace(new RegExp(k, 'g'), dateMap[k]);
}
if (needMap) {
return dateMap;
}
return format;
}

这里格式字符串未严格使用php的方式,采用了大小写来区分

y: 2位数年(91)
Y: 4位数年(1991)
M: 月份(10)
D: 日(15)
H: 24小时格式(19)
h: 12小时格式(7)
I: 2位分钟(05)
i: 1位分钟(5)
S: 2位秒(09)
s: 1位秒(9)
W: 中文周几(三)
w: 数字周几(3)
A: 上午/下午(am/pm)

使用示例:

  • formateDate(Date.now(), 'Y-M-D H:I:S') ==> "2016-10-26 15:07:09"
  • formateDate(Date.now(), 'Y-M-D H:i:s') ==> "2016-10-26 15:7:9"
  • formateDate(Date.now(), 'y-M-D | .A h:I:S') ==> "16-10-26 | .pm 3:49:32"
  • formateDate(Date.now(), 'Y-M-D H:I:S | 周W | 周w') ==> "2016-10-26 15:52:28 | 周三 | 周3"

时间处理大家都懂,不啰嗦,简单说下“时间格式字符串”处理

这里其实就是多次把传进来的字符串做replace处理,把格式字符串中合法的字符串用对应的时间数据替换,最后返回就是我们需要的格式了

另外,还有最后一个参数,是作为debug参数用的,true的时候返回整个dateMap。

就酱紫吧~~~

【小分享】Date对象封装,时间格式化函数time()的更多相关文章

  1. vue 工具函数的封装 时间格式化函数

    时间代码格式化工具函数的封装 小伙伴们,多封点工具函数,多封装点公共组件,多写点公共样式,照顾下互联网行业的新人把....~~~~~ /** yyyymmdd(new Date) -> &quo ...

  2. JavaScript日期时间格式化函数

    这篇文章主要介绍了JavaScript日期时间格式化函数分享,需要的朋友可以参考下 这个函数经常用到,分享给大家. 函数代码: //格式化参数说明: //y:年,M:月,d:日,h:时,m分,s:秒, ...

  3. js时间格式化函数,支持Unix时间戳

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  4. JS 时间格式化函数

    //时间格式化函数 Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, ...

  5. mysql时间格式化函数日期格式h和H区别

    本文为博主原创,未经允许不得转载: 今天碰到一个问题,发现项目中有一个统计图的数据和时间格式没有对应准确,统计图要描述的是操作次数和操作时间的关系, 但很奇怪的是操作次数对应的时间却是凌晨,实际应用中 ...

  6. SQL 时间格式化函数发布

    SQL 时间格式化函数,有时候因某种需要需要格式化成需要的时间格式,需要的朋友可以收藏下,以备后用. SQL Server里面可能经常会用到的日期格式转换方法: sql server使用convert ...

  7. toLocaleTimeString()方法在IE和谷歌浏览器上 根据本地时间格式,把 Date 对象的时间部分(不含日期)转换为“时间字符串”存在区别

    这两天修改一个bug,发现一个问题:  toLocaleTimeString()方法在IE和谷歌浏览器上 根据本地时间格式,把 Date 对象的时间部分(不含日期)转换为“时间字符串”存在区别.方法原 ...

  8. javascript Date对象 之 时间转字符串

    javascript Date对象 --> 时间转字符串: 测试代码: <!DOCTYPE html> <html lang="en"> <he ...

  9. 【记录】Mybatis Generator生成数据对象Date/TimeStamp 查询时间格式化

    Mybatis Generator是很好的工具帮助我们生成表映射关联代码,最近博主遇到一个问题,找了很久才解决, 就是用Mybatis Generator生成实体类的时候,Date 时间无法格式化输出 ...

  10. Java魔法堂:Date与日期时间格式化

    一.前言                                                                                       日期时间的获取.显 ...

随机推荐

  1. mysql--学生课程成绩表

    创建表student: CREATE TABLE `student` ( `sid` INT(11) NOT NULL AUTO_INCREMENT, `sname` VARCHAR(20) NOT ...

  2. JS、html打开超链接的几种形式

    1.直接使用input在原有的标签页中直接打开一个页面,将原有标签页覆盖 在按钮中直接打开一个连接,这里不需要用到js的代码,根据HTML中的onclick属性 <input type=&quo ...

  3. 在JSP里使用CKEditor和CKFinder

    在JSP里使用CKEditor和CKFinder 最 近在做一个新闻发布平台,放弃了很早的FCKEditor,使用CKEditor和CKFinder,尽管免费的CKFinder是Demo版本,但是功 ...

  4. MySQL临时表与派生表(简略版)

    MySQL临时表与派生表 当主查询中包含派生表,或者当select 语句中包含union字句,或者当select语句中包含一个字段的order by 子句(对另一个字段的group by 子句)时,M ...

  5. nginx的一些配置

    map $http_user_agent $***_build_version { default "***.exe"; "~Windows NT 10.0" ...

  6. shell sed

      匹配 sed -n '/pattern/p' file_name |sed -n 7,12p #pattern是你要查的内容 #file_name是你要查的文件 以上实现:打印出匹配结果中的7-1 ...

  7. UVa 357 - Let Me Count The Ways

    题目大意:也是硬币兑换问题,与147.674用同样的方法即可解决. #include <cstdio> #include <cstring> #define MAXN 3000 ...

  8. Outlook 2013 电子邮件账户设置备份与恢复

    与之前版本不同,Outlook 2013需要备份以下注册表内容:HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles恢复时 ...

  9. Web开发者的最爱 5个超实用的HTML5 API

    摘要:毫无疑问,HTML5已经成为当今最流行的一门技术,尤其是Web开发者们对HTML5的兴趣是日趋渐浓.HTML5的许多功能也都能在现代浏览器中得以实现.然而,作为开发者,除了关注HTML5的功能和 ...

  10. freemarker配置,使用

    最近在项目中用到freemarker,总是报一些莫名其妙的错误. 调查得知是由于在配置文件中属性[tag_syntax]的设置问题,我们的环境下该属性(auto_detect)默认设置了自动检测,也就 ...