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 相关文章推荐
Prototype1.6 JS 官方下载地址
Nov 30 Javascript
基于jQuery的动态表格插件
Mar 28 Javascript
点击显示指定元素隐藏其他同辈元素的方法
Feb 19 Javascript
用js模拟struts2的多action调用示例
May 19 Javascript
JQuery插件Marquee.js实现无缝滚动效果
Apr 26 Javascript
JS运动特效之完美运动框架实例分析
Jan 24 Javascript
JS实现的邮箱提示补全效果示例
Jan 30 Javascript
vue自定义一个v-model的实现代码
Jun 21 Javascript
详解使用VueJS开发项目中的兼容问题
Aug 02 Javascript
Javascript 之封装(Package)
Sep 14 Javascript
node.js文件操作系统实例详解
Nov 05 Javascript
5分钟快速看懂ES6中的反射与代理
Dec 19 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计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
浅谈PHP中的
2016/04/23 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
python字典排序实例详解
2015/05/20 Python
举例讲解Python中的身份运算符的使用方法
2015/10/13 Python
python django 访问静态文件出现404或500错误
2017/01/20 Python
redis之django-redis的简单缓存使用
2018/06/07 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
护士旷工检讨书
2015/08/15 职场文书
财务人员入职担保书
2015/09/22 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python