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 相关文章推荐
js 新浪的一个图片播放图片轮换效果代码
Jul 15 Javascript
Javascript JSQL,SQL无处不在,
May 05 Javascript
一个JS的日期格式化算法示例
Jul 31 Javascript
JavaScript实现多个重叠层点击切换效果的方法
Apr 24 Javascript
Javascript的表单验证-提交表单
Mar 18 Javascript
jQuery UI制作选项卡(tabs)
Dec 13 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
Jan 08 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
Mar 04 Javascript
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
关于JavaScript中高阶函数的魅力详解
Sep 07 Javascript
微信小程序框架的页面布局代码
Aug 17 Javascript
openlayers实现地图测距测面
Sep 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
用Flash图形化数据(二)
2006/10/09 PHP
php strcmp使用说明
2010/04/22 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
javascript计时器事件使用详解
2014/01/07 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
python实现端口转发器的方法
2015/03/13 Python
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
python实现ftp文件传输功能
2020/03/20 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
.NET面试问题集
2015/12/08 面试题
中医药大学市场营销专业自荐信
2013/09/29 职场文书
面料业务员岗位职责
2013/12/26 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
合作协议书范本
2014/10/25 职场文书
自我评价优缺点范文
2015/03/11 职场文书
销售督导岗位职责
2015/04/10 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
优质护理心得体会
2016/01/22 职场文书