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父窗口控制只弹出一个子窗口
Apr 10 Javascript
获取3个数组不重复的值的具体实现
Dec 30 Javascript
js实现动态改变字体大小代码
Jan 02 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 Javascript
解决js图片加载时出现404的问题
Nov 30 Javascript
ajax跨域调用webservice的实现代码
May 09 Javascript
jQuery简单验证上传文件大小及类型的方法
Jun 02 Javascript
百度搜索框智能提示案例jsonp
Nov 28 Javascript
JavaScript实现多栏目切换效果
Dec 12 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
Feb 05 Javascript
jsonp跨域及实现百度首页联想功能的方法
Aug 30 Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 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者的疑难问答(1)
2006/10/09 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
php中in_array函数用法探究
2014/11/25 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
javascript 面向对象继承
2009/11/26 Javascript
jQuery实现点击小图片淡入淡出显示大图片特效
2015/09/09 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
Angular之指令Directive用法详解
2017/03/01 Javascript
JSONP基础知识详解
2017/03/19 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
Python中数字以及算数运算符的相关使用
2015/10/12 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
Python装饰器简单用法实例小结
2018/12/03 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
Django model class Meta原理解析
2020/11/14 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
护理专科学生自荐书
2014/07/05 职场文书
党支部特色活动方案
2014/08/20 职场文书
农村党支部承诺书
2015/04/30 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
工作报告范文
2019/06/20 职场文书
介绍一下28个JS常用数组方法
2022/05/06 Javascript