• 一个有用的 Datetime 包 | 判断是否为闰年(Javascript)


    在看《Javascript 实战》的时候,第三章讲的是如何创建包,里面有一个 datetime 包,提供了两个方法,一个是判断某年是否为闰年,一个判断某年某月有多少天,而且考虑了闰年的情况,来看看源码:

    /**
     * jscript.datetime package
     * This package contains utility functions for working with dates and times.
     */
     /*命名空间*/
    if (typeof jscript == 'undefined') {
      jscript = function() { }
    }
    
    jscript.datetime = function() { }
    
    /**
     * This function will return the number of days in a given month and year,
     * taking leap years into account.(这个函数返回所给某年、某月的天数,并且考虑了闰年的情况)
     *
     * @param  inMonth The month, where January = 1 and December = 12.
     * @param  inYear  The year to check the month in.
     * @return         The number of days in the specified month and year.
     */
    jscript.datetime.getNumberDaysInMonth = function(inMonth, inYear) {
    
      inMonth = inMonth - 1;
      var leap_year = this.isLeapYear(inYear);
      if (leap_year) {
        leap_year = 1;
      } else {
        leap_year = 0;
      }
      /*4, 6, 9, 11 月为 30 天,注意上面的 inMonth = inMonth - 1*/
      if (inMonth == 3 || inMonth == 5 || inMonth == 8 || inMonth == 10) {
        return 30;
      } else if (inMonth == 1) {/*2 月为 28 或者 29 天,视是否为闰年而定*/
        return 28 + leap_year;
      } else {/*其它月则为 31 天*/
        return 31;
      }
    
    } // End getNumberDaysInMonth().
    
    
    /**
     * This function will determine if a given year is a leap year.
     *(这个函数用来确定是否为闰年)
     * @param  inYear The year to check.
     * @return        True if inYear is a leap year, false if not.
     */
    jscript.datetime.isLeapYear = function(inYear) {
    
      if ((inYear % 4 == 0 && !(inYear % 100 == 0)) || inYear % 400 == 0) {
        return true;
      } else {
        return false;
      }
    
    } // End isLeapYear().
  • 相关阅读:
    Json2JsonArray JsonArray2StringArray
    循环结构
    类型转换代码
    字符串的截取拼接
    循环语句,选择结构的相关代码
    Java代码2-运算符简单运用
    Java代码1
    集合框架
    接口
    继承多态
  • 原文地址:https://www.cnblogs.com/catprayer/p/1859903.html
Copyright © 2020-2023  润新知