zoukankan      html  css  js  c++  java
  • 关于日期的一些常用方法的封装——dates.js

    针对自己在日常用到的一些日期方法,整理成一个js日期插件,插件定义了一个dates全局对象,继承了Date函数,相当于在Date函数上做了一些扩展。

    这个插件会不断更新,所有我之后用到的关于日期的自定义方法都会放到这个插件。

     1 /**
     2  * 功能描述:针对JS自身的Date对象做了一些更符合使用习惯的扩充和改进
     3  * 
     4  */
     5 /*
     6  * 继承Date
     7  */
     8 var dates = new Date();  //Object.create(Date);
     9 /*
    10  * 改进Date对象提供的getMonth方法
    11  */
    12 dates.getMonth = function(){
    13     let a = new Date();
    14      return a.getMonth() + 1;
    15 }
    16 /*
    17  * 返回年月日
    18  * @tag:设置分隔符,如果不设置,默认使用"-"
    19  */
    20 dates.getYMD = function(tag){
    21     var tag = (tag === null || tag === undefined || tag === ""?"-":tag);
    22     tag = new String(tag);
    23     var ymd = 
    24             dates.getFullYear() + tag +
    25             dates.getMonth() + tag +
    26             dates.getDate();
    27     return ymd;
    28 }
    29 /*
    30  * 返回时分秒
    31  * @tag:设置分隔符,如果不设置,默认使用":"
    32  */
    33 dates.getHMS = function(tag){
    34     var tag = (tag === null || tag === undefined || tag === ""?":":tag);
    35     tag = new String(tag);
    36     var hms = 
    37             dates.getHours() + tag +
    38             dates.getMinutes() + tag +
    39             dates.getSeconds();
    40     return hms;
    41 }
    42 /*
    43  * 返回年月日时分秒
    44  */
    45 dates.getFullTime = function(){
    46     switch (arguments.length){ //完整的包括三个参数,年月日直接的分隔符,时分秒直接的分隔符,年月日和时分秒之间的分隔符
    47         case 0:
    48             //使用默认形式
    49             return dates.getYMD() + " " + dates.getHMS();
    50             break;
    51         case 1:
    52             //一个参数是全部使用该分隔符
    53             return dates.getYMD(arguments[0]) +  arguments[0] + dates.getHMS(arguments[0]);
    54             break;
    55         case 2:
    56             //两个参数是仅设置年月日和时分秒的分隔符
    57             return dates.getYMD(arguments[0]) + " " + dates.getHMS(arguments[1]);
    58             break;
    59         case 3:
    60             //三个参数是设置完整参数
    61             return dates.getYMD(arguments[0]) + arguments[1] + dates.getHMS(arguments[2]);
    62             break;
    63         default:
    64             return dates.getYMD(arguments[0]) + arguments[1] + dates.getHMS(arguments[2]);
    65             break;
    66     }
    67 }
    68 /*
    69  * 返回12小时制的时间
    70  */
    71 dates.get12Hour = function(){
    72     return (dates.getHours() < 12?dates.getHours():dates.getHours()-12);
    73 }
    74 /*
    75  * 返回以当前日期为准,明天的日期
    76  */
    77 dates.getTomorrow = function(tag){
    78     var tag = (tag === null || tag === undefined || tag === ""?"-":tag);
    79     tag = new String(tag);
    80     tomo = dates.getDate() + 1;
    81     var ymd = 
    82             dates.getFullYear() + tag +
    83             dates.getMonth() + tag +
    84             tomo;
    85     return ymd;
    86 }

    这其中有个问题,就是特殊字符,以字符的形式输入特殊字符没问题,但如果直接把特殊字符(如@#¥%&*等)作为参数传入就会报错,不太知道如何保证使用简便的前提下处理这个问题。

  • 相关阅读:
    JID 2.0 RC4 发布,高性能的 Java 序列化库
    FBReaderJ 1.6.3 发布,Android 电子书阅读器
    Arquillian 1.0.3.Final 发布,单元测试框架
    JavaScript 的宏扩展 Sweet.js
    Hypertable 0.9.6.5 发布,分布式数据库
    JRuby 1.7.0 发布,默认使用 Ruby 1.9 模式
    httppp 1.4.0 发布,HTTP响应时间监控
    Redis 2.6.0 正式版发布,高性能K/V服务器
    OfficeFloor 2.5.0 发布,IoC 框架
    XWiki 4.3 首个里程碑发布
  • 原文地址:https://www.cnblogs.com/enjoymylift/p/6023094.html
Copyright © 2011-2022 走看看