• 关于日期的一些常用方法的封装——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 }

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

  • 相关阅读:
    ubuntu 安装chrome浏览器
    ubuntu下Xmodmap映射Esc和Ctrl_L
    ubuntu 设置主屏和副屏
    maven 第一次运行报错
    Intellij Idea 配置并发布tomcat项目
    Nginx跨域设置
    Inotify+rsync实现实时数据同步
    Ubuntu-18.04设置开机启动脚本
    CentOS开机自启动/etc/rc.local不执行的解决办法
    ELK之使用kafka作为消息队列收集日志
  • 原文地址:https://www.cnblogs.com/enjoymylift/p/6023094.html
Copyright © 2020-2023  润新知