java - 确定年份是否为闰年以及日期在 Blackberry 中是否有效

标签 java date blackberry java-me calendar

我从用户那里得到一个日期输入..在这种情况下,我需要确定用户输入的年份是否是闰年......并且在用户输入整个日期后,即月份日期和年份...我需要检查日期是否实际上有效,如果是,则需要确定该特定日期的日期。有人可以告诉我如何做到这一点吗?

最佳答案

/* 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. What day of the week was 2 August 1953?
    --------------------------------------------

    To calculate the day on which a particular date falls, the following
    algorithm may be used (the divisions are integer divisions, in which
    remainders are discarded):

    a = (14 - month) / 12
    y = year - a
    m = month + 12*a - 2
    For Julian calendar: d = (5 + day + y + y/4 + (31*m)/12) mod 7
    For Gregorian calendar: d = (day + y + y/4 - y/100 + y/400 + (31*m)/12) mod 7

    The value of d is 0 for a Sunday, 1 for a Monday, 2 for a Tuesday, etc.

    Example: On what day of the week was the author born?

    My birthday is 2 August 1953 (Gregorian, of course).

    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 mod 7
      = 0

    I was born on a Sunday.

阅读Calendar FAQ获取更多信息。

关于java - 确定年份是否为闰年以及日期在 Blackberry 中是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1925629/

相关文章:

javascript - 获取周数但每周五更改为下一周的脚本

ios - 如何快速解决日历问题? (很高兴即使在 Objective-c 中也能看到)

php - MYSQL 选择超过 2 年的数据

blackberry - 在 Blackberry 上打开 Flash as Light

java - 为什么我没有 GuildMessageReceivedEvent?

Java float 说明

java - 如何使用 JPA 和 Hibernate 复制 INSERT/UPDATE/DELETE 语句

blackberry - 为多个版本的 BlackBerry OS 开发

browser - 如何在黑莓中打开 webview?

java - 将 map 的返回字符串格式化为字符串但出现错误