zoukankan      html  css  js  c++  java
  • 怎样推断两个日期在一周内

    怎样推断两个日期在一周内。首先,须要搞清楚一周内究竟是什么含义。国内一般是以周一作为每周的第一天,而西方普遍以周日作为每周的第一天。

    下面,我们以西方的标准来处理这个问题。


    常见的日期结构:

    struct DateTime
    {
    int year;
    int month;
    int day;
    int weekday;  //days since Sunday - [0, 6]
    int hour;
    int minute;
    int second;
    };
    上述结构中与周相关的參数仅仅有weekday,应该设法利用该參数:

    bool IsBetweenOneWeek(DateTime dt1, DateTime dt2)
    {
        int diff, weekDay;
        DateTime LaterDt;
        if (dt.day < dt2.day)  // diff为较早日期减去较晚日期的差值
        {
            diff = dt1.day - dt2.day;
        }
        else
        {
            diff = dt2.day - dt1.day;
        }
        if (abs(diff) > 6)      // 相差天数大于6天。必定不在一周内
        {
            return false;
        }
    
        LaterDt = dt1.day > dt2.day ? dt1 : dt2;  // 取得较晚的日期
        weekDay = LaterDt.weekday;
        if (((diff + weekDay) < 0) || ((diff + weekDay) > 6))
        {
            return false;
        }
        return true;
    }


    该方法的核心在于。计算两个日期的差值与较晚日期的weekDay(周中天数)之和是否小于6,即diff + weekDay。

  • 相关阅读:
    部署Tomcat ----【javaweb-02】
    初步了解web ----【javaweb-01】
    JDBC-02
    JDBC-01
    利用Maven进行导jar包
    ContainerBase.addChild: start 错误问题
    MySQL数据库02
    MySQL数据库01
    简单认识并使用JavaScript【供后端人员作为了解】
    JSP+SSH+Mysql+DBCP实现的租车系统
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6745014.html
Copyright © 2011-2022 走看看