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 相关文章推荐
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
Jun 27 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
Sep 15 Javascript
js动态在form上插入enctype=multipart/form-data的问题
May 24 Javascript
setTimeout()与setInterval()方法区别介绍
Dec 24 Javascript
调整小数的格式保留小数点后两位
May 14 Javascript
javascript中拼接HTML字符串的最快、最好的方法
Jun 07 Javascript
JavaScript操作Cookie详解
Feb 28 Javascript
js检查是否关闭浏览器的方法
Aug 02 Javascript
微信小程序  网络请求API详解
Oct 25 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
Jul 03 Javascript
JavaScript 中判断变量是否为数字的示例代码
Oct 22 Javascript
Javascript使用integrity属性进行安全验证
Nov 07 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
第二节 对象模型 [2]
2006/10/09 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
PHP错误处理函数
2016/04/03 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
你必须知道的Javascript知识点之&quot;this指针&quot;的应用
2013/04/23 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
python导入pandas具体步骤方法
2019/06/23 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
Python Django的安装配置教程图文详解
2019/07/17 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
numba提升python运行速度的实例方法
2021/01/25 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
实例讲解利用HTML5 Canvas API操作图形旋转的方法
2016/03/22 HTML / CSS
Lookfantastic法国官网:英国知名美妆购物网站
2017/10/28 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
灵泰克Java笔试题
2016/01/09 面试题
前台接待的工作职责
2013/11/21 职场文书
技术学校毕业生求职信分享
2013/12/02 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
北京导游词
2015/02/12 职场文书