zoukankan      html  css  js  c++  java
  • 一个有用的 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().
  • 相关阅读:
    数据结构与算法10 微服务接口的鉴权和限流 [MD]
    .Net开发环境配置[OS/IIS/VS...]
    一、单件模式
    正则表达式调试器1.1
    C#2.0新特性系列文章转载
    巧用VS2005解决VS2005网站发布不便问题
    配置VS2005,加速VS2005运行速度
    转载:ASP.NET运行机制 和 图片盗链问题
    ASP.NET页面提前处理问题
    关于NTLM认证的python和.NET实现
  • 原文地址:https://www.cnblogs.com/catprayer/p/1859903.html
Copyright © 2011-2022 走看看