今天再来分享下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. 通过 File API 使用 JavaScript 读取文件

    原文地址:http://www.html5rocks.com/zh/tutorials/file/dndfiles/ 简介 HTML5 终于为我们提供了一种通过 File API 规范与本地文件交互的 ...

  2. Sublime Text 2快捷键大全

    作者:zccst 2015-04-13 Sublime 插件安装 http://www.cnblogs.com/jingwhale/p/4421021.html 2014-09-17 Sublime ...

  3. uoj#38. 【清华集训2014】奇数国【欧拉函数】

     number⋅x+product⋅y=1  有整数x,y解的条件是gcd(number, product) == 1. product用线段树维护一下,然后现学了个欧拉函数. 可以这样假如x = p ...

  4. 如何在我自己的web 项目的jsp页面中添加链接,直接让别人通过内网在我的电脑上下载文件

    今天接到一个任务,将昨天年会的视频,音频,图片等放在公司自己的服务器上,使连接同一个路由器的(即同一个内网)的同事可以通过内网下载视频(通过内网下载,可以提高下载速度). 备注:本次用的是tomcat ...

  5. C#中的逆变和协变

    msdn 解释如下: “协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型. “逆变”则是指能够使用派生程度更小的类型. 解释的很正确,大致就是这样,不过不够直白. 直白的理解: “协变” ...

  6. C#索引器的用法

    索引器允许类或者结构的实例按照与数组相同的方式进行索引取值,索引器与属性类似,不同的是索引器的访问是带参的. 索引器和数组比较: (1)索引器的索引值(Index)类型不受限制 (2)索引器允许重载 ...

  7. UnitOfWork实战

    企业模式之Unit Of Work模式 在开始UnitOfWork模式之前有必要回顾下我们耳熟能详的Data Access Object(DAO)模式,即数据访问对象.DAO是一种简单的模式,我们构建 ...

  8. UVa 10827 - Maximum sum on a torus

    题目大意:UVa 108 - Maximum Sum的加强版,求最大子矩阵和,不过矩阵是可以循环的,矩阵到结尾时可以循环到开头.开始听纠结的,想着难道要分情况讨论吗?!就去网上搜,看到可以通过补全进行 ...

  9. 使用PHPMailer发送带附件并支持HTML内容的邮件

    PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件 ...

  10. Angular - - $interpolate 和 $parse

    $interpolate 将一个字符串编译成一个插值函数.HTML编译服务使用这个服务完成数据绑定. 使用:$interpolate(text,[mustHaveExpression],[truste ...