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 相关文章推荐
extJs 常用到的增,删,改,查操作代码
Dec 28 Javascript
jquery nth-child()选择器的简单应用
Jul 10 Javascript
js函数获取html中className所在的内容并去除标签
Sep 08 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
Nov 27 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
Nov 26 Javascript
jQuery实现的分子运动小球碰撞效果
Jan 27 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
Jul 07 Javascript
详解node.js的http模块实例演示
Jul 12 Javascript
Array数组对象中的forEach、map、filter及reduce详析
Aug 02 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
Dec 30 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
May 13 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
Jul 25 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 数组的指针操作实现代码
2011/02/08 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
php生成mysql的数据字典
2016/07/07 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
javascript 动态添加表格行
2006/06/22 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
vue 文件目录结构详解
2017/11/24 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
angular组件间传值测试的方法详解
2020/05/07 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Python类的继承和多态代码详解
2017/12/27 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
C#笔试题集合
2013/06/21 面试题
英语专业毕业生自我鉴定
2013/11/09 职场文书
业务主管岗位职责范本
2013/12/25 职场文书
士力架广告词
2014/03/20 职场文书
村庄绿化方案
2014/05/07 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
夫妻吵架保证书
2015/05/08 职场文书
施工安全保证书
2015/05/09 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书