我从用户那里得到日期输入。.在这种情况下,我需要确定用户输入的年份是否是a年...并且在用户输入整个日期之后,即月份日期和年份...我需要检查日期实际上是否有效,如果需要,则需要确定该特定日期的日期。

最佳答案

/* Returns true if the given year is a leap year */
static bool IsLeapYear(int year)
{
    if ((year % 400) == 0)
        return true;
    if ((year % 100) == 0)
        return false;
    if ((year % 4) == 0)
        return true;
    return false;
}




    2.6。 1953年8月2日是星期几?
    --------------------------------------------

    要计算特定日期的日期,请执行以下操作
    可以使用算法(除法是整数除法,其中
    剩余物将被丢弃):

    a =(14-月)/ 12
    y =年-a
    m =月+ 12 * a-2
    对于儒略历:d =(5 +天+ y + y / 4 +(31 * m)/ 12)mod 7
    对于公历:d =(天+ y + y / 4-y / 100 + y / 400 +(31 * m)/ 12)mod 7

    d的值对于星期日为0,对于星期一为1,对于星期二为2,依此类推。

    示例:作者在一周的哪一天出生?

    我的生日是1953年8月2日(当然是格雷戈里亚人)。

    a =(14-8)/ 12 = 0
    y = 1953-0 = 1953
    m = 8 + 12 * 0-2 = 6
    d =(2 + 1953 + 1953/4-1953/100 + 1953/400 +(31 * 6)/ 12)mod 7
      =(2 + 1953 + 488-19 + 4 + 15)mod 7
      = 2443模组7
      = 0

    我是星期天出生的。




阅读Calendar FAQ以获得更多信息。

08-26 04:57