今天再来分享下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. sublime text 我的常用配置

    { "color_scheme": "Packages/Color Scheme - Default/IDLE.tmTheme", "font_fac ...

  2. jsoncpp第二篇------API

    更多API参考jsoncpp头文件 1  jsoncpp的api简要说明 1,解析(json字符串转为对象) std::string strDataJson; Json::Reader JReader ...

  3. js Date 日期格式化(转)

    var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    //获取完整的年份(4位,1 ...

  4. IIS日志路径,修改存放位置,清除日志方法

    IIS存放日志文件的默认存储路径是c:\windows\system32\logfiles 我们依次打开“我的电脑”,C盘,Windows文件夹,system32文件夹,logfiles文件夹,发现里 ...

  5. db2 odbc连接设置

    参考:http://www.withdata.com/blog/tips/how-to-install-and-configure-db2-odbc-driver.html 驱动下载地址:https: ...

  6. 《算法导论》归并排序----merge-sort

    伪代码请见<算法导论>2.3节 merge-sort实现: public class MergeSort {        public static void sort(double [ ...

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

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

  8. asp.net 二级域名session共享

    1.自定义类 namespace SessionShare{ public class CrossDomainCookie : IHttpModule { private string m_RootD ...

  9. Python装饰器学习(九步入门)

    这是在Python学习小组上介绍的内容,现学现卖.多练习是好的学习方式. 第一步:最简单的函数,准备附加额外功能 ? 1 2 3 4 5 6 7 8 # -*- coding:gbk -*- '''示 ...

  10. mysql存储过程中in、out、inout参数使用实际案例

    1.参数in的使用(代表输入,意思说你的参数要传到存过过程的过程里面去)//为了避免存储过程中分号(";")结束语句,我们使用分隔符告诉mysql解释器,该段命令是否已经结束了./ ...