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类中定义原型方法的两种实现的区别
Mar 08 Javascript
jQuery的三种$()
Dec 30 Javascript
Javascript限制网页只能在微信内置浏览器中访问
Nov 09 Javascript
jQuery中prev()方法用法实例
Jan 08 Javascript
jQuery浏览器CSS3特写兼容实例
Jan 19 Javascript
jQuery选择器之基本选择器与层次选择器
Mar 03 Javascript
函数window.open实现关闭所有的子窗口
Aug 03 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
Apr 04 Javascript
react的滑动图片验证码组件的示例代码
Feb 27 Javascript
js中数组常用方法总结(推荐)
Apr 09 Javascript
elementUI select组件value值注意事项详解
May 29 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/04/12 PHP
用php解析html的实现代码
2011/08/08 PHP
php文件上传 你真的掌握了吗
2016/11/28 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
页面加载完毕后滚动条自动滚动一定位置
2014/02/20 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
PHP守护进程实例
2015/03/06 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
js选择器全面解析
2016/06/27 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
如何对python的字典进行排序
2020/06/19 Python
Python 如何在字符串中插入变量
2020/08/01 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
香港太阳眼镜网上商店:SmartBuyGlasses香港
2016/07/22 全球购物
大学军训感言
2014/01/10 职场文书
学生爱国演讲稿
2014/01/14 职场文书
实习护士自荐信
2014/06/21 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
高中地理教学反思
2016/02/19 职场文书
成人成长感言如何写?
2019/08/16 职场文书