自时代以来的时间和日期

时间:2019-10-16 03:27:27

标签: java

我正在尝试编写一个仅打印当前日期的程序。所以我只需要年,月和日。我不允许使用任何日期,日历,公历或时间类别来获取当前日期。我只能使用System.currentTimeMillis()来获取自纪元以来的当前时间,以毫秒为单位,java.util.TimeZone.getDefault().getRawOffset()用来解释自纪元以来的时区。

到目前为止,我一直在尝试将当前时间以毫秒为单位,除以1000得到秒,然后除以60得到分钟,然后得到60得到小时,依此类推。自从1970年1月1日起,我的工作日数降到18184之前,这种方法一直有效。我不能简单地将天数完全除以30或31,因为并非所有月份都有30或31天。我找不到年份,因为leap年是365或364天。

class JulianDate {
    static void main() {
        long currentMilli = System.currentTimeMillis() + java.util.TimeZone.getDefault().getRawOffset();
        long seconds = currentMilli / 1000;
        long minutes = seconds / 60;
        long hours = minutes / 60;
        long days = hours / 24;
        System.out.println("Days since epoch : "  + days);
    }
}

我需要结束代码来简单地打印10/15/2019October 15, 2019。格式无关紧要,我只需要根据时代毫秒打印当前的日期,月份和年份

1 个答案:

答案 0 :(得分:0)

这是给您的版本。它使用固定天数的4年区块,直到2100年。

.cube-1 {
    width: 100px;
    height: 100px;
    float: left;
    background: blue;
}
.cube-2 {
    margin-left: 100px;
    width: 100px;
    height: 100px;
    float: left;
    background: red;
}

.click-me {
    width: 100%;
    height: 50px;
    background: white;
}