javascript中Date format(js日期格式化)方法小结


Posted in Javascript onDecember 17, 2015

本文实例总结了javascript中日期格式化的方法。分享给大家供大家参考,具体如下:

方法一:

// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")   ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
  var o = {
    "M+": this.getMonth() + 1, //月份
    "d+": this.getDate(), //日
    "h+": this.getHours(), //小时
    "m+": this.getMinutes(), //分
    "s+": this.getSeconds(), //秒
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
    "S": this.getMilliseconds() //毫秒
  };
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  for (var k in o)
  if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  return fmt;
}

调用:

var time1 = new Date().Format("yyyy-MM-dd");
var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");

方法二:

<script language="javascript" type="text/javascript">
<!-- /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q)
  可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new
  Date()).pattern("yyyy-MM-dd hh:mm:ss.S")==> 2006-07-02 08:09:04.423
 * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04
 * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04
 * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04
 * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
 */
Date.prototype.pattern=function(fmt) {
  var o = {
  "M+" : this.getMonth()+1, //月份
  "d+" : this.getDate(), //日
  "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时
  "H+" : this.getHours(), //小时
  "m+" : this.getMinutes(), //分
  "s+" : this.getSeconds(), //秒
  "q+" : Math.floor((this.getMonth()+3)/3), //季度
  "S" : this.getMilliseconds() //毫秒
  };
  var week = {
  "0" : "/u65e5",
  "1" : "/u4e00",
  "2" : "/u4e8c",
  "3" : "/u4e09",
  "4" : "/u56db",
  "5" : "/u4e94",
  "6" : "/u516d"
  };
  if(/(y+)/.test(fmt)){
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  }
  if(/(E+)/.test(fmt)){
    fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);
  }
  for(var k in o){
    if(new RegExp("("+ k +")").test(fmt)){
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
    }
  }
  return fmt;
}
var date = new Date();
window.alert(date.pattern("yyyy-MM-dd hh:mm:ss"));
// -->
</script>

方法三:

Date.prototype.format = function (mask) { 
  var d = this;
  var zeroize = function (value, length) {
      if (!length) length = 2;
      value = String(value);
      for (var i = 0, zeros = ''; i < (length - value.length); i++) {
        zeros += '0';
      }
      return zeros + value;
    };
  return mask.replace(/"[^"]*"|'[^']*'|/b ( ? : d {
    1, 4
  } | m {
    1, 4
  } | yy( ? : yy) ? | ([hHMstT]) / 1 ? | [lLZ]) / b / g, function ($0) {
    switch ($0) {
    case 'd':
      return d.getDate();
    case 'dd':
      return zeroize(d.getDate());
    case 'ddd':
      return ['Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat'][d.getDay()];
    case 'dddd':
      return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][d.getDay()];
    case 'M':
      return d.getMonth() + 1;
    case 'MM':
      return zeroize(d.getMonth() + 1);
    case 'MMM':
      return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][d.getMonth()];
    case 'MMMM':
      return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][d.getMonth()];
    case 'yy':
      return String(d.getFullYear()).substr(2);
    case 'yyyy':
      return d.getFullYear();
    case 'h':
      return d.getHours() % 12 || 12;
    case 'hh':
      return zeroize(d.getHours() % 12 || 12);
    case 'H':
      return d.getHours();
    case 'HH':
      return zeroize(d.getHours());
    case 'm':
      return d.getMinutes();
    case 'mm':
      return zeroize(d.getMinutes());
    case 's':
      return d.getSeconds();
    case 'ss':
      return zeroize(d.getSeconds());
    case 'l':
      return zeroize(d.getMilliseconds(), 3);
    case 'L':
      var m = d.getMilliseconds();
      if (m > 99) m = Math.round(m / 10);
      return zeroize(m);
    case 'tt':
      return d.getHours() < 12 ? 'am' : 'pm';
    case 'TT':
      return d.getHours() < 12 ? 'AM' : 'PM';
    case 'Z':
      return d.toUTCString().match(/[A-Z]+$/);
      // Return quoted strings with the surrounding quotes removed
    default:
      return $0.substr(1, $0.length - 2);
    }
  });
};

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jQuery的强大选择器小结
Dec 27 Javascript
JS 进度条效果实现代码整理
May 21 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
Aug 28 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
Oct 29 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
May 21 Javascript
JavaScript中的原型prototype完全解析
May 10 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
Jul 11 Javascript
详解Chart.js轻量级图表库的使用经验
May 22 Javascript
layer弹出层父子页面事件相互调用方法
Aug 17 Javascript
js实现时钟定时器
Mar 26 Javascript
js实现下拉列表选中某个值的方法(3种方法)
Dec 17 #Javascript
详解js图片轮播效果实现原理
Dec 17 #Javascript
js和jquery分别验证单选框、复选框、下拉框
Dec 17 #Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 #Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
Dec 17 #Javascript
jQuery选择器用法实例详解
Dec 17 #Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
Dec 17 #Javascript
You might like
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
jquery实现checkbox 全选/全不选的通用写法
2014/02/22 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
python多重继承新算法C3介绍
2014/09/28 Python
Python入门篇之文件
2014/10/20 Python
Python通过select实现异步IO的方法
2015/06/04 Python
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
python中字符串内置函数的用法总结
2018/09/13 Python
pycham查看程序执行的时间方法
2018/11/29 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
使用PyQt4 设置TextEdit背景的方法
2019/06/14 Python
Django REST framework 分页的实现代码
2019/06/19 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
统计员岗位职责
2013/11/14 职场文书
影视制作岗位职责
2013/12/04 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
防汛通知
2015/04/25 职场文书
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers