`
zuroc
  • 浏览: 1302521 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

D语言的两个日期函数

阅读更多
//日期格式为数字 如 20080901
//By zsp007@gmail.com

///验证是否是有效日期
bool date_validate(T)(T date)
{
   static T daysOfMonth[] = [0,31,28,31,30,31,30,31,31,30,31,30,31];

   T monthDay = date % 10000;
   if(monthDay > 1231)
      return false;
   if(monthDay == 229)
   {
      int year = date / 10000;
      if((year % 4) != 0)
          return false;
      return (!(year %100 == 0 && year % 400 != 0));
   }
   int month = monthDay / 100;
   int day = monthDay % 100;
   return (day > 0 && day <= daysOfMonth[month]);
}

///下一天
T tomorrow(T)(T i){
    static T daysOfMonth[] = [0,31,28,31,30,31,30,31,31,30,31,30,31];
    T day=i%100,month=(i/100)%100,year=i/10000;
    
    if(day>=daysOfMonth[month]){
        if(month==12){
            ++year;
            month=1;
            day=1;
        }else if(month==2&&day==28){
            if((year % 4)== 0){
                if(year%100 == 0 && year % 400 != 0){
                    goto add_month;
                }else ++day;
            }else goto add_month;
        }else{
        add_month:
            ++month;
            day=1;
        }
    }else ++day;
    return day+100*month+10000*year;
}
分享到:
评论

相关推荐

    日期函数_vb日期函数_

    9. **DateDiff(interval, date1, date2)**:它计算两个日期之间的差异,以指定的时间间隔为单位。例如,`DateDiff("d", #2023/03/01#, #2023/03/15#)`返回14,表示两者之间相隔14天。 10. **FormatDateTime(date, ...

    VB日期函数

    Debug.Print daysBetween ' 输出两个日期之间的天数 ``` #### DATEPART 函数 **功能描述:** DATEPART函数用于返回已知日期的指定时间部分。 **语法结构:** ```vb DatePart(interval, date, [firstdayofweek], ...

    oracle日期函数

    使用 SYS_DATE 函数可以计算两个日期之间的天数。例如: ```sql SELECT FLOOR(SYS_DATE - TO_DATE('20020405','yyyymmdd')) FROM DUAL; ``` 这将输出两个日期之间的天数。 5. 时间为 null 的用法 使用 TO_DATE ...

    指定两个日期计算相隔的天数

    "指定两个日期计算相隔的天数"这一功能通常涉及日期函数的使用,这些函数能够帮助我们快速地得出两个日期间的差距,即天数。这里我们将详细探讨如何实现这一功能,以及相关的编程语言和工具。 1. **通用方法**: ...

    SQL中常用的的时间跟日期函数

    - `TIMESTAMPDIFF(unit, datetime1, datetime2)`:计算两个日期或时间之间的差值。 4. **日期部分提取** - `YEAR(date)`:提取日期的年份。 - `MONTH(date)`:提取日期的月份。 - `DAY(date)`:提取日期的日。 ...

    日期函数.rar

    它们帮助我们处理与日期和时间相关的各种操作,如计算两个日期之间的差值、格式化日期显示、获取特定日期的星期几等。"日期函数.rar"这个压缩包很可能包含了关于如何在不同编程语言中使用日期函数的教程或代码示例。...

    oracle日期处理函数大全

    4. **计算两个日期之间的天数**:使用`FLOOR`函数可以计算两个日期之间的整数天数,如`FLOOR(SYSDATE - TO_DATE('20020405', 'YYYYMMDD'))`。 5. **NULL日期处理**:在Oracle中,日期字段的NULL值不能直接与其他...

    SQL所有日期函数用法.pdf

    例如,DateDiff ("d", "25-Mar-99", "30-Jun-99") 将计算两个日期之间的天数,结果为 97 天。 3. GetDate 函数 GetDate 函数用于获取当前日期和时间,返回当前系统日期和时间。语法为 GetDate ()。 4. DateName ...

    php 函数记录 及日期函数

    其中,`strtotime()`和`date()`是最常用的两个日期函数。 `strtotime()`函数是一个非常实用的工具,它能够解析多种不同的日期和时间格式,并将其转换为Unix时间戳。Unix时间戳是从1970年1月1日(UTC/GMT的午夜)...

    R语言函数包学习手册

    - **用途**:比较两个对象是否相等(包括数值误差范围内的相等)。 - **语法**: ```r all.equal(target, current, tolerance = .Machine$double.eps^0.5, ...) ``` - **参数**: - `target`:目标对象。 - `...

    oracel 时间函数汇总

    - 使用 `FLOOR` 函数计算两个日期之间的天数差。 - 示例: ```sql SELECT FLOOR(SYSDATE - TO_DATE('20020405', 'YYYYMMDD')) FROM DUAL; ``` 2. **处理NULL值**: - 当日期字段为NULL时,可以使用 `TO_DATE...

    PHP中几个常用的日期及时间格式转换及比较函数

    `compare_date()` 函数比较两个日期,而 `compare_time()` 比较两个时间。它们都按照年、月、日或时、分、秒的顺序进行逐级比较,返回值表明了第一个参数是早于、晚于还是等于第二个参数。 这些函数的实现展示了在 ...

    Oracle日期函数大礼包

    计算两个日期之间的天数差可以用到`FLOOR`函数与`TO_DATE`函数结合的方式,例如: ```sql SELECT FLOOR(SYSDATE - TO_DATE('20020405', 'yyyymmdd')) FROM dual; ``` #### 5. 日期为NULL的情况 当日期字段可能为...

    js日期函数,很不错啊,可以让人点击得到日期

    JavaScript 日期函数扩展:字符串转日期 #### 说明 这段代码展示了如何为 `String` 类型的对象添加一个名为 `toDate` 的方法,该方法可以将符合特定格式的字符串转换成 `Date` 对象。 #### 参数解释 - **x** ...

    Basic程序语言常用函数.pdf

    DateDiff 函数是一个日期函数,用于返回两个日期之间的间隔。例如,DateDiff("d", Date, Date + 1) 将返回 1。 DatePart 函数:返回给定日期的指定部分。 DatePart 函数是一个日期函数,用于返回给定日期的指定...

    函数调用显示当前日期

    - `d.getDate()`返回的是一个月中的某一天,通常用于获取日期。 - `d.getHours()`和`d.getMinutes()`分别用于获取小时和分钟。 4. **`document.forms[0].abc.value = d;`**:将格式化后的日期时间字符串赋值给...

    oracle 日期函数

    例如,要找出某个日期字段位于两个日期之间的所有记录,可以这样写: ```sql WHERE A_DATE BETWEEN TO_DATE('20011201', 'yyyymmdd') AND TO_DATE('20011231', 'yyyymmdd') ``` 此查询将返回所有日期在 `2001-12-01`...

    Asp.net(C#)中的日期(DateTime.Now)处理函数

    这个值是从系统时钟获取的,可以被用于各种场景,如记录操作的时间戳、计算两个事件之间的时间差等。 ### 二、日期时间格式化 C#提供了丰富的字符串格式化选项,用于定制日期时间的显示方式。以下是一些常见的格式...

    Excel-VBA宏编程实例源代码-常规函数应用-计算日期的时间差.zip

    1. **DateDiff函数**:这是最常用的计算两个日期之间差值的函数。DateDiff函数接受四个参数:间隔类型(如"d"代表天数,"m"代表月份,"y"代表年份等)、结束日期、开始日期和一个可选的工作日参数。例如,`DateDiff...

    使用PHP的日期与时间函数技巧

    还有一些额外的日期时间函数,如checkdate()用于验证日期的合法性(例如检查是否是闰年的2月29日),mktime()用于创建时间戳等。 结合这些日期时间函数,可以进行各种时间计算和格式化工作,这对于处理跨时区的web...

Global site tag (gtag.js) - Google Analytics