`
easy0917
  • 浏览: 260440 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JavaScript 日期格式化

    博客分类:
  • JS
阅读更多
  DateFormat = {  
   format : function(date,formatter){  
    if(date==null){return null;};  
    if(formatter==null){formatter = "yyyy-MM-dd";};  
    var year = date.getYear().toString();  
    var month = (date.getMonth() + 1).toString();  
    var day = date.getDate().toString();  
    var hours = date.getHours().toString();  
    var minutes = date.getMinutes().toString();  
    var seconds = date.getSeconds().toString();  
    var yearMarker = formatter.replace(/[^y]/g,'');  
    var monthMarker = formatter.replace(/[^M]/g,'');  
    var dayMarker = formatter.replace(/[^d]/g,'');  
    var hoursMarker = formatter.replace(/[^h]/g,'');  
    var minutesMarker = formatter.replace(/[^m]/g,'');  
    var secondsMarker = formatter.replace(/[^s]/g,'');  
    if(yearMarker.length == 2){year = year.substring(2,4);};  
    if(monthMarker.length > 1 && month.length==1){month = "0" + month;};  
    if(dayMarker.length > 1 && day.length==1){day = "0" + day;};  
    if(hoursMarker.length > 1 && hours.length==1){hours = "0" + hours;};  
    if(minutesMarker.length > 1 && minutes.length==1){minutes = "0" + minutes;};  
    if(secondsMarker.length > 1 && seconds.length==1){seconds = "0" + seconds;};  
     if(yearMarker.length>0){formatter = formatter.replace(yearMarker,year);}  
     if(monthMarker.length>0){formatter = formatter.replace(monthMarker,month);};  
     if(dayMarker.length>0){formatter = formatter.replace(dayMarker,day);};  
    if(hoursMarker.length>0){formatter = formatter.replace(hoursMarker,hours);};  
     if(minutesMarker.length>0){formatter = formatter.replace(minutesMarker,minutes);};     
     if(secondsMarker.length>0){formatter = formatter.replace(secondsMarker,seconds);};  
     return formatter;  
    },  
    parse : function(dateString,formatter){  
     var today = new Date();  
     if(dateString==null){return today;};  
     if(formatter==null){formatter = "yyyy-MM-dd";};  
     var yearMarker = formatter.replace(/[^y]/g,'');  
     var monthMarker = formatter.replace(/[^M]/g,'');  
     var dayMarker = formatter.replace(/[^d]/g,'');  
     var hoursMarker = formatter.replace(/[^h]/g,'');  
     var minutesMarker = formatter.replace(/[^m]/g,'');  
     var secondsMarker = formatter.replace(/[^s]/g,'');  
     var yearPosition = formatter.indexOf(yearMarker);  
     var yearLength = yearMarker.length;  
     var year = parseInt( dateString.substring(yearPosition ,yearPosition + yearLength) );  
     if(isNaN(year)){  
      year = today.getYear();  
     }else{  
      if( yearLength == 2){  
       if(year < 50 ){  
        year += 2000;  
       }else{  
        year += 1900;  
       };  
      };  
     };  
     var monthPosition = formatter.indexOf(monthMarker);  
     var month = parseInt( dateString.substring(monthPosition,monthPosition + monthMarker.length) );  
     if(isNaN(month)){  
      month = today.getMonth();  
     }else{  
      month-=1  
     };  
     var dayPosition = formatter.indexOf(dayMarker);  
     var day = parseInt( dateString.substring( dayPosition,dayPosition + dayMarker.length ) );  
    if(isNaN(day)){  
     day = today.getDate();  
    }else{  
    };  
    var hoursPosition = formatter.indexOf(hoursMarker);  
    var hours = parseInt( dateString.substring( hoursPosition,hoursPosition + hoursMarker.length ) );  
     if(isNaN(hours)){  
      hours = 0;  
     };  
     var minutesPosition = formatter.indexOf(minutesMarker);  
     var minutes = parseInt( dateString.substring( minutesPosition,minutesPosition + minutesMarker.length ) );  
    if(isNaN(minutes)){  
     minutes = 0;  
    };  
    var secondsPosition = formatter.indexOf(secondsMarker);  
    var seconds = parseInt( dateString.substring( secondsPosition,secondsPosition + secondsMarker.length ) );  
     if(isNaN(seconds)){  
      seconds = 0;  
     };  
     return new Date(year,month,day, hours,minutes,seconds);  
    }  
   };  

//将一个 Date 格式化为日期/时间字符串。
alert(  DateFormat.format(new Date(),'yyyy年MM月dd日')  );
//从给定字符串的开始分析文本,以生成一个日期。
alert(  DateFormat.parse('20100317','yyyyMMdd')  );



分享到:
评论

相关推荐

    javascript日期格式化

    在JavaScript中,我们可以使用内置的`Date`对象来创建、操作和格式化日期。 首先,`Date`对象是JavaScript中的内置构造函数,可以用来创建一个新的日期实例。例如: ```javascript let date = new Date(); // 创建...

    全面兼容的javascript时间格式化函数(比较实用)

    在探讨JavaScript时间格式化函数之前,了解一些关于JavaScript中的时间对象是很有必要的。JavaScript中的Date对象用于处理日期和时间。Date对象支持多种方法,例如获取年、月、日、小时、分钟和秒等。不同的浏览器和...

    JavaScript时间格式化插件,返回指定字符串

    JavaScript时间格式化插件是一种工具,它允许开发者以自定义的格式显示日期和时间,使得在Web应用中处理和展示时间信息更为灵活和方便。在JavaScript中,原生的Date对象虽然提供了基本的时间处理功能,但其输出格式...

    javascript日期格式化方法汇总

    在前端开发工作中,日期时间格式化是一个频繁遇到的需求。本文总结了JavaScript中处理日期时间格式化的几种常用方法,尤其是推荐了一种个性化的输出方式,该方法提供了灵活性和丰富的日期时间表现形式,能够满足多种...

    JavaScript 格式化时间日期

    在JavaScript中,处理和...这篇博文的链接(https://w8700569.iteye.com/blog/882708)可能包含了更多示例和深入的讨论,对于学习和实践JavaScript日期格式化非常有帮助。阅读完整的文章将有助于掌握更多细节和技巧。

    JavaScript - 格式化日期时间.zip

    此外,除了手动格式化,还可以使用一些库,如Moment.js或date-fns,它们提供了更丰富的日期时间处理功能和易用的API,可以轻松实现各种复杂的日期时间格式化需求。不过,对于基础的格式化需求,了解和掌握JavaScript...

    javascript 日期数字文本格式化

    在JavaScript中,日期和数字的文本格式化是一个常见的需求,特别是在构建用户界面或者处理数据时。这个主题主要涉及如何将日期对象转换为易读的字符串,以及如何对数字进行格式化,使其符合特定的显示标准。这篇博文...

    javascript中Date format(js日期格式化)方法小结.docx

    通过不同的格式字符串,可以轻松地获取到所需的日期时间格式。此外,第二种方法还提供了更丰富的格式选项,如星期的显示,适用于需要更复杂日期格式化需求的应用场景。 ### 使用建议 虽然上述两种方法非常实用,但...

    javascript的trim和日期时间格式化函数

    ### JavaScript中的Trim函数和日期时间格式化函数 在JavaScript中,字符串处理和日期操作是非常常见的需求,尤其是在数据清洗、格式转换等场景下。本文将详细介绍如何利用自定义方法实现字符串的Trim功能以及日期...

    JavaScript日期和时间格式化全指南

    JavaScript提供了多种方式来格式化日期和时间,包括原生的Date对象方法、国际化API(Intl对象)以及第三方库。本文将详细介绍这些方法,并提供实际代码示例。 在JavaScript中格式化日期和时间是一个涉及多种方法和...

    详解JavaScript时间格式化

    感谢某前辈写的JS格式化日期和时间JS代码,很好很强大!!! 前言:  js虽然提供了各种获取时间Date对象的不同属性方法,如:getDate 方法 | getDay 方法 | getFullYear 方法 | getHours 方法 … … 等等,但是却...

    js 日期 format 格式化

    在Web应用中,日期时间格式化的灵活性对于提高用户体验至关重要,因此掌握这一技能非常实用。 #### 描述:对前端日期进行格式化 这段描述提供了关于日期格式化功能的具体用法示例,展示了如何使用自定义格式字符串...

    javascript精确计算日期处理金额格式化

    这些库提供了更强大的功能,如时区支持、复杂的日期格式化、日期时间的加减操作、日期比较等。例如,Moment.js允许你用`moment().format('YYYY-MM-DD')`来轻松地格式化日期,而date-fns则推崇更简洁的API设计,如`...

    javascript日期格式化示例分享

    标题“javascript日期格式化示例分享”和描述“主要介绍了javascript日期格式化示例,需要的朋友可以参考下”共同指向一个主题:即在JavaScript中如何对日期进行格式化。在编程实践中,日期格式化是一个常见需求,...

    js通用日期格式化工具 date.js

    js通用日期格式化工具,直接引用该工具类就可以使用,方便快捷,建议大家收藏此工具类,该工具很好的解决了前端页面显示日期格式问题

    css html javascript 代码格式化源码

    5. **JavaScript代码格式化**: JavaScript是网页动态功能的核心,其代码格式化同样重要。工具如Prettier或ESLint可以帮助开发者统一代码风格,提高代码质量。这些工具可以处理括号对齐、变量命名规则、导入顺序等...

    JavaScript仿PHP时间格式化函数

    总的来说,这个"JavaScript仿PHP时间格式化函数"极大地扩展了JavaScript在日期格式化方面的灵活性,使得前端开发者无需后端的帮助,也能实现与PHP类似的日期处理。这个库对于需要在多种语言间保持一致日期格式的项目...

    Javascript日期格式化format函数的使用方法

    Javascript日期格式化在日常开发中还是挺常见的,那么下面就给大家分享Javascript时间格式format函数的两种使用方法示例,一起来看看。 方法一 Date.prototype.pattern=function(fmt) { var o = { "M+" : this....

    js 格式化日期 JavaScript格式化日期类型

    js 语言的格式化日期格式的类。很好用的。

    javascript 格式化时间日期函数代码脚本之家修正版

    在JavaScript开发中,日期和时间的处理是非常常见的需求之一。...最终,通过这种方式,我们可以实现一个通用的JavaScript日期时间格式化工具,使得日期时间的显示更加符合中文用户的阅读习惯,提高了用户体验。

Global site tag (gtag.js) - Google Analytics