JS日期格式化之javascript Date format


Posted in Javascript onOctober 01, 2015

在上篇文章给大家介绍了js对Date对象的操作的问题(生成一个倒数7天的数组),本篇介绍有关js日期格式化之javascript Date format,本文通过三种方法给大家讲解,具体内容请看下文。

方法一:

// 对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);
  }
 });
};

以上内容是本文给大家介绍的JS日期格式化之javascript Date format,希望大家喜欢。

Javascript 相关文章推荐
百度 popup.js 完美修正版非常的不错 脚本之家推荐
Apr 17 Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
Jul 29 Javascript
JS Map 和 List 的简单实现代码
Jul 08 Javascript
利用JavaScript脚本实现滚屏效果的方法
Jul 07 Javascript
分享10个优化代码的CSS和JavaScript工具
May 11 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
Aug 24 Javascript
vue.js学习之递归组件
Dec 13 Javascript
angular4 如何在全局设置路由跳转动画的方法
Aug 30 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
Nov 22 Javascript
vue.js系列中的vue-fontawesome使用
Feb 10 Javascript
使用gulp构建前端自动化的方法示例
Dec 25 Javascript
原生js实现的移动端可拖动进度条插件功能详解
Aug 15 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
Oct 01 #Javascript
RequireJS入门一之实现第一个例子
Sep 30 #Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
Sep 30 #Javascript
jquery插件pagination实现无刷新ajax分页
Sep 30 #Javascript
浅谈Javascript中substr和substring的区别
Sep 30 #Javascript
jQuery复制表单元素附源码分享效果演示
Sep 30 #Javascript
js实现创建删除html元素小结
Sep 30 #Javascript
You might like
php 不同编码下的字符串长度区分
2009/09/26 PHP
PHP 变量类型的强制转换
2009/10/23 PHP
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
如何使用php输出时间格式
2013/08/31 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
详解爬虫被封的问题
2019/04/23 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
Python实现GIF图倒放
2020/07/16 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
施工安全协议书
2013/12/11 职场文书
预备党员政审材料
2014/02/04 职场文书
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
六一亲子活动总结
2014/07/01 职场文书
2014年创卫工作总结
2014/11/24 职场文书
保洁员岗位职责
2015/02/04 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
2015团员个人年度总结
2015/11/24 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
该怎么书写道歉信?
2019/07/03 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python
Python3中最常用的5种线程锁实例总结
2021/07/07 Python