`

js格式时间函数和工具类(收藏)

阅读更多

这个是收藏的工具类

 

  1. function DateUtil(){}   
  2. /**  
  3. *功能:格式化时间  
  4. *示例:DateUtil.Format("yyyy/MM/dd","Thu Nov 9 20:30:37 UTC+0800 2006 ");  
  5. *返回:2006/11/09  
  6. */  
  7. DateUtil.Format=function(fmtCode,date){   
  8.     var result,d,arr_d;   
  9.        
  10.     var patrn_now_1=/^y{4}-M{2}-d{2}\sh{2}:m{2}:s{2}$/;   
  11.     var patrn_now_11=/^y{4}-M{1,2}-d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/;   
  12.        
  13.     var patrn_now_2=/^y{4}\/M{2}\/d{2}\sh{2}:m{2}:s{2}$/;   
  14.     var patrn_now_22=/^y{4}\/M{1,2}\/d{1,2}\sh{1,2}:m{1,2}:s{1,2}$/;   
  15.        
  16.     var patrn_now_3=/^y{4}年M{2}月d{2}日\sh{2}时m{2}分s{2}秒$/;   
  17.     var patrn_now_33=/^y{4}年M{1,2}月d{1,2}日\sh{1,2}时m{1,2}分s{1,2}秒$/;   
  18.        
  19.     var patrn_date_1=/^y{4}-M{2}-d{2}$/;   
  20.     var patrn_date_11=/^y{4}-M{1,2}-d{1,2}$/;   
  21.        
  22.     var patrn_date_2=/^y{4}\/M{2}\/d{2}$/;   
  23.     var patrn_date_22=/^y{4}\/M{1,2}\/d{1,2}$/;   
  24.        
  25.     var patrn_date_3=/^y{4}年M{2}月d{2}日$/;   
  26.     var patrn_date_33=/^y{4}年M{1,2}月d{1,2}日$/;   
  27.        
  28.     var patrn_time_1=/^h{2}:m{2}:s{2}$/;   
  29.     var patrn_time_11=/^h{1,2}:m{1,2}:s{1,2}$/;   
  30.     var patrn_time_2=/^h{2}时m{2}分s{2}秒$/;   
  31.     var patrn_time_22=/^h{1,2}时m{1,2}分s{1,2}秒$/;   
  32.        
  33.     if(!fmtCode){fmtCode="yyyy/MM/dd hh:mm:ss";}   
  34.     if(date){   
  35.         d=new Date(date);   
  36.         if(isNaN(d)){   
  37.             msgBox("时间参数非法\n正确的时间示例:\nThu Nov 9 20:30:37 UTC+0800 2006\n或\n2006/       10/17");   
  38.             return;}   
  39.     }else{   
  40.         d=new Date();   
  41.     }   
  42.   
  43.     if(patrn_now_1.test(fmtCode))   
  44.     {   
  45.         arr_d=splitDate(d,true);   
  46.         result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;   
  47.     }   
  48.     else if(patrn_now_11.test(fmtCode))   
  49.     {   
  50.         arr_d=splitDate(d);   
  51.         result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;   
  52.     }   
  53.     else if(patrn_now_2.test(fmtCode))   
  54.     {   
  55.         arr_d=splitDate(d,true);   
  56.         result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;   
  57.     }   
  58.     else if(patrn_now_22.test(fmtCode))   
  59.     {   
  60.         arr_d=splitDate(d);   
  61.         result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd+" "+arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;   
  62.     }   
  63.     else if(patrn_now_3.test(fmtCode))   
  64.     {   
  65.         arr_d=splitDate(d,true);   
  66.         result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"+" "+arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";   
  67.     }   
  68.     else if(patrn_now_33.test(fmtCode))   
  69.     {   
  70.         arr_d=splitDate(d);   
  71.         result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日"+" "+arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";   
  72.     }   
  73.        
  74.     else if(patrn_date_1.test(fmtCode))   
  75.     {   
  76.         arr_d=splitDate(d,true);   
  77.         result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd;   
  78.     }   
  79.     else if(patrn_date_11.test(fmtCode))   
  80.     {   
  81.         arr_d=splitDate(d);   
  82.         result=arr_d.yyyy+"-"+arr_d.MM+"-"+arr_d.dd;   
  83.     }   
  84.     else if(patrn_date_2.test(fmtCode))   
  85.     {   
  86.         arr_d=splitDate(d,true);   
  87.         result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd;   
  88.     }   
  89.     else if(patrn_date_22.test(fmtCode))   
  90.     {   
  91.         arr_d=splitDate(d);   
  92.         result=arr_d.yyyy+"/"+arr_d.MM+"/"+arr_d.dd;   
  93.     }   
  94.     else if(patrn_date_3.test(fmtCode))   
  95.     {   
  96.         arr_d=splitDate(d,true);   
  97.         result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日";   
  98.     }   
  99.     else if(patrn_date_33.test(fmtCode))   
  100.     {   
  101.         arr_d=splitDate(d);   
  102.         result=arr_d.yyyy+"年"+arr_d.MM+"月"+arr_d.dd+"日";   
  103.     }   
  104.     else if(patrn_time_1.test(fmtCode)){   
  105.         arr_d=splitDate(d,true);   
  106.         result=arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;   
  107.     }   
  108.     else if(patrn_time_11.test(fmtCode)){   
  109.         arr_d=splitDate(d);   
  110.         result=arr_d.hh+":"+arr_d.mm+":"+arr_d.ss;   
  111.     }   
  112.     else if(patrn_time_2.test(fmtCode)){   
  113.         arr_d=splitDate(d,true);   
  114.         result=arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";   
  115.     }   
  116.     else if(patrn_time_22.test(fmtCode)){   
  117.         arr_d=splitDate(d);   
  118.         result=arr_d.hh+"时"+arr_d.mm+"分"+arr_d.ss+"秒";   
  119.     }   
  120.     else{   
  121.         msgBox("没有匹配的时间格式!");   
  122.         return;   
  123.     }   
  124.        
  125.    return result;   
  126. };   
  127. function splitDate(d,isZero){   
  128.     var yyyy,MM,dd,hh,mm,ss;   
  129.     if(isZero){   
  130.          yyyy=d.getYear();   
  131.          MM=(d.getMonth()+1)<10?"0"+(d.getMonth()+1):d.getMonth()+1;   
  132.          dd=d.getDate()<10?"0"+d.getDate():d.getDate();   
  133.          hh=d.getHours()<10?"0"+d.getHours():d.getHours();   
  134.          mm=d.getMinutes()<10?"0"+d.getMinutes():d.getMinutes();   
  135.          ss=d.getSeconds()<10?"0"+d.getSeconds():d.getSeconds();   
  136.     }else{   
  137.          yyyy=d.getYear();   
  138.          MM=d.getMonth()+1;   
  139.          dd=d.getDate();   
  140.          hh=d.getHours();   
  141.          mm=d.getMinutes();   
  142.          ss=d.getSeconds();     
  143.     }   
  144.     return {"yyyy":yyyy,"MM":MM,"dd":dd,"hh":hh,"mm":mm,"ss":ss};     
  145. }   
  146. function msgBox(msg){   
  147.     window.alert(msg);   
  148. }  

 

 

 

下面这个是收藏的js函数

 

Date.prototype.format = function(format)
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(),    //day
"h+" : this.getHours(),   //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3),  //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear()+"").substr(4 - RegExp.$1.length));
for(var k in o)if(new RegExp("("+ k +")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
("00"+ o[k]).substr((""+ o[k]).length));
return format;
}
//上面的函数必须在上面(先定义后使用),不然无法识别format()
var ddd = new Date();
alert(ddd.format('yyyyMMdd'));

分享到:
评论

相关推荐

    javascript后台调用的工具类

    3. **日期和时间处理**:JavaScript的Date对象可能与C#的DateTime类不完全兼容,工具类可能提供了适应后台环境的日期和时间处理方法。 4. **字符串操作**:提供常用的字符串处理函数,如格式化、查找、替换等。 5....

    JavaScript工具类函数库

    本资源是一个精心编写的JavaScript工具类函数库,包含了多种实用的日期处理、数值计算、字符串操作等工具函数。它提供了如日期格式化、天数判断、数组处理等功能,适用于前端开发中的各种场景。函数库采用ES6模块化...

    JS(javascript)-md5加密工具类

    JavaScript中的MD5加密工具类是用于对数据进行安全哈希的一种方法,广泛应用于密码存储、数据完整性校验等场景。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能将任意长度的输入转化为固定长度的...

    JavaScript 函数库、工具类.zip

    JavaScript函数库和工具类是开发Web应用不可或缺的部分,它们提供了丰富的功能,可以帮助开发者更高效地编写代码。在"JavaScript 函数库、工具类.zip"这个压缩包中,包含了一个名为"xe-utils-master"的文件,这很...

    JavaScript 函数库、工具类

    JavaScript函数库和工具类是开发Web应用不可或缺的部分,它们提供了大量的预定义函数和实用方法,大大简化了开发者的工作。在JavaScript的世界里,有许多知名的库和工具,如jQuery、Lodash、Underscore等,但这次...

    uni-app一些工具类

    7. **动画和过渡效果**:uni-app允许自定义动画,工具类中可能包含封装好的动画函数,便于在不同场景下复用。 8. **设备信息获取**:uni-app提供了获取设备信息的API,Utils可能封装了这些功能,如`getDeviceInfo()...

    js工具类 弹窗

    "js工具类 弹窗"是指将弹窗功能作为一个独立的模块来实现,这样的设计可以使弹窗的样式、行为和调用方式标准化,提高代码的可维护性和复用性。下面我们将深入探讨JavaScript中的弹窗实现及其相关知识点。 首先,...

    用于简化数据函数promises等工作的JavaScript实用工具类

    总之,"TinkoffCreditSystems-utils.js-d06e5d8"提供的JavaScript实用工具类,是一个集合了Promise操作、数据处理和函数编程辅助功能的库,旨在简化开发者的日常工作,提高代码质量,减少错误,并提升开发效率。...

    JS 函数式编程指南 PDF

    总结而言,JS函数式编程指南为读者提供了一种途径,借助于JavaScript这种广泛使用的编程语言,去理解和掌握函数式编程的核心概念和实践技巧。这本指南不仅涵盖了函数式编程的基础理论,还详细介绍了如何在实际开发中...

    JS工具类

    JavaScript(简称JS)工具类是开发过程中不可或缺的一部分,它们提供了一系列通用的方法,帮助开发者更高效地处理各种编程任务。在给定的“JS工具类”主题中,我们重点关注了一个名为`FloatArithUtil.js`的文件,这...

    js工具类 使用说明方法介绍同步博客

    总的来说,js工具类库如“bee.js”提供了丰富的函数,旨在简化JavaScript开发,提高开发效率。它们通过封装常见操作,解决了兼容性问题,提供了统一的API,使开发者能够更加专注于业务逻辑,而不是底层实现。通过...

    JavaScript 函数库、工具类xe-utils-master.zip

    JavaScript函数库和工具类是开发Web应用不可或缺的部分,它们提供了丰富的功能,可以帮助开发者更高效地编写代码。在本文中,我们将深入探讨JavaScript函数库和工具类,特别关注xe-utils这一库,以及它如何提升开发...

    JS自定义封装时间范围工具类,小程序每周的范围时间【基于小程序实现】.rar

    1. **时间范围工具类**:在JS中,一个自定义的工具类通常是一组功能相关的函数,它们被封装在一起,以提高代码的复用性和可维护性。在这个案例中,工具类专注于处理时间范围,尤其是计算每月有多少周以及每周的起止...

    实用工具 格式化Html格式,格式代javasctip格式,javascript代码压缩

    格式化JavaScript代码可以确保每个函数、变量和语句都在适当的位置,使代码更易读、易懂,同时减少错误的可能性。此外,这些工具可能还支持代码风格的自定义,以适应不同团队的编码规范。 接着,我们来看JavaScript...

    加密js工具类:base64,md5,sha1

    `md5.js`文件可能包含了实现MD5算法的JavaScript函数,例如`MD5(input)`,输入字符串,返回一个16进制表示的哈希值。 **SHA1(Secure Hash Algorithm 1)**与MD5类似,也是一种哈希函数,但其结果是一个160位(20...

    CountDownjs是js写的倒计时工具函数以及类

    CountDown.js作为一个独立的工具函数或类,可以方便地集成到任何JavaScript项目中,提供自定义的倒计时解决方案。 CountDown.js-master文件夹很可能是该项目的源代码仓库,其中包含CountDown.js的核心代码以及其他...

    js函数库——打包上传

    JavaScript函数库是Web开发中不可或缺的一部分,它们提供了一系列预定义的函数和工具,帮助开发者更高效、便捷地处理常见的编程任务。"js函数库——打包上传"这个主题涉及到的主要是如何整理、打包和上传JavaScript...

    js定义类 对象 构造函数,类的继承

    在JavaScript中,类(Class)、对象(Object)和构造函数(Constructor)是面向对象编程的基础。这篇文章将深入探讨这三个概念,以及如何实现类的继承。 首先,让我们理解什么是JavaScript中的对象。在JavaScript中...

    JS/HTML格式化工具可脱机使用

    JavaScript(简称JS)和HTML是Web开发中的基础语言,它们的源代码往往需要进行格式化以保持整洁和可读性。在线格式化工具是开发者常用的辅助工具,但它们依赖网络连接,这在某些情况下可能不便。为了满足离线环境下...

    javascript绘图函数库

    JavaScript绘图函数库是开发网页动态图形的一种强大工具,它为开发者提供了丰富的API,使得在浏览器环境中绘制复杂的图形变得简单易行。在这个标题为“javascript绘图函数库”的资源中,我们主要关注的是如何利用...

Global site tag (gtag.js) - Google Analytics