zoukankan      html  css  js  c++  java
  • js根据日期计算

    startDom, yearDom, monthDom, dayDom, 均为计算日期的ID
    endDom 为最终计算结果展示的ID
     1 //根据合同期始计算合同期止   传入CalculationDate的参数均为ID
     2 function CalculationDate(startDom, yearDom, monthDom, dayDom, endDom) {
     3     var start_date = $(startDom).val().trim();
     4     if (start_date) {
     5         var year = parseInt(start_date.substring(0, 4)),
     6             month = parseInt(start_date.substring(5, 7)),
     7             day = parseInt(start_date.substring(8));
     8         year = parseInt(year) + parseInt($(yearDom).val().trim());
     9         month = parseInt(month) + parseInt($(monthDom).val().trim());
    10         if ($(dayDom).val() == "") {
    11             day = parseInt(day);
    12         }
    13         else {
    14             day = parseInt(day) + parseInt($(dayDom).val().trim());
    15         }
    16         if (month > 12) {
    17             month = month - 12;
    18             year = year + 1;
    19         }
    20         if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10) {
    21             if (day > 31) {
    22                 day = day - 31;
    23                 month = month + 1;
    24             }
    25         } else if (month == 4 || month == 6 || month == 9 || month == 11) {
    26             if (day > 30) {
    27                 day = day - 30;
    28                 month = month + 1;
    29             }
    30         } else if (month == 2) {
    31             if (isLeapYear(year)) {
    32                 if (day > 29) {
    33                     day = day - 29;
    34                     month = month + 1;
    35                 }
    36             } else {
    37                 if (day > 28) {
    38                     day = day - 28;
    39                     month = month + 1;
    40                 }
    41             }
    42         }
    43 
    44         if (day == 1) {
    45             var newmonth = month - 1;
    46             if (newmonth == 0) {
    47                 month = 12;
    48                 year--;
    49                 day = 31;
    50             } else if (newmonth == 1 || newmonth == 3 || newmonth == 5 || newmonth == 7 || newmonth == 8 || newmonth == 10) {
    51                 month--;
    52                 day = 31;
    53             } else if (newmonth == 4 || newmonth == 6 || newmonth == 9 || newmonth == 11) {
    54                 month--;
    55                 day = 30;
    56             } else if (newmonth == 2) {
    57                 month--;
    58                 if (isLeapYear(year)) {
    59                     day = 29;
    60                 } else {
    61                     day = 28;
    62                 }
    63             }
    64         } else {
    65             day--;
    66         }
    67         $(endDom).val(year + "/" + month + "/" + day);
    68     }
    69 }
    70 //判断是否为闰年
    71 function isLeapYear(year) {
    72     return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0);
    73 }
  • 相关阅读:
    浴谷夏令营2017.8.1数论的整理
    BZOJ1483: [HNOI2009]梦幻布丁
    NOIP2014-11-3模拟赛
    BZOJ3884: 上帝与集合的正确用法
    BZOJ4869: [Shoi2017]相逢是问候
    计蒜客NOIP2017提高组模拟赛(三)day1
    NOIP2014-9-6模拟赛
    NOIP2014-7-7模拟赛
    zoj Little Keng(快速幂)
    多校Key Set (快速幂)
  • 原文地址:https://www.cnblogs.com/chizhida/p/7273114.html
Copyright © 2011-2022 走看看