今天再来分享下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. HDU 5621 KK's Point

    N个点中任意选取四个点,就能产生一个圆内的交点,所以圆内总共有C(N,4)个交点,圆上有N个,相加就可以了. 注意:组合数运算的时候会爆longlong,中间先除一下就可以了. #include &l ...

  2. NSString的几个方法(rangeOfString,hasPrefix,hasSuffix,改变大小写...)

    - (NSRange)rangeOfString:(NSString *)searchString;//查找字符串中是包涵在某个字符串,并返回其开始位置和长度 例: NSRange range = [ ...

  3. JavaScript 事件模型 事件处理机制

    什么是事件? 事件(Event)是JavaScript应用跳动的心脏 ,也是把所有东西粘在一起的胶水.当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了.事件可能是用户在某些内容上的点击 ...

  4. bzoj 4002: [JLOI2015]有意义的字符串

    这个题... #include <bits/stdc++.h> #define rep(i, a, b) for (int i = a; i <= b; i++) #define d ...

  5. instancetype 和 id 的区别

    原文:http://blog.csdn.net/sirodeng/article/details/50516478 一.什么是instancetype instancetype是clang 3.5开始 ...

  6. fastcgi_param 详解

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#脚本文件请求的路径 fastcgi_param QUERY_STRI ...

  7. css3快速复习

    选择器边框.阴影 border-radius: 50%; 设置正圆形背景的改变CSS3重要的新东西: ● transition 过度,让一个元素从一个样式,变为另一个样式,不再是干蹦了,而是有动画,均 ...

  8. leetcode--002 rpn

    package leetcode; import java.util.Stack; public class RPN { public static int evalRPN(String[] toke ...

  9. mysql 常用指令

    修改表的字符集 88down voteaccepted If you want to change the table default character set and all character ...

  10. 【USB-HID在STM32上的实现】-00-开始

    前一段时间参照网上的例程搞了一阵STM32F103的HID程序,改了改例子实现了一个摇杆的外设控制功能.1通道开关量输入,2通道模拟量输入. 之后有空了总结一下,防止忘记.