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 相关文章推荐
Javascript中Eval函数的使用说明
Oct 11 Javascript
JavaScript验证图片类型(扩展名)的函数分享
May 05 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
Aug 15 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
Apr 01 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
javascript实现状态栏中文字动态显示的方法
Oct 20 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
Dec 29 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
Jan 25 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
Oct 26 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
May 09 Javascript
详解js根据百度地图提供经纬度计算两点距离
May 13 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
Oct 25 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 split()函数的用法详解
2013/06/05 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
CI框架中zip类应用示例
2014/06/17 PHP
使用正则替换变量
2007/05/05 Javascript
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
JS正则表达式常见用法实例详解
2018/06/19 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
Python fileinput模块使用实例
2015/05/28 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
win10 64bit下python NLTK安装教程
2018/09/19 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
物流专业大学的自我评价
2014/01/11 职场文书
《藤野先生》教学反思
2014/02/19 职场文书
毕业生求职信
2014/06/10 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
财务管理制度范本
2015/08/04 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
Django框架之路由用法
2022/06/10 Python