仅使用currentTimeMillis()来获取日期

时间:2015-11-23 09:45:55

标签: java time

所以我完全失败了。我只需要使用currentTimeMillis()打印出实际的日期和时间,而不是其他任何内容。花时间没问题:

long t = java.lang.System.currentTimeMillis();

long seconds = (t / 1000) % 60;
long minutes = (t / (1000 * 60)) % 60;
long hours = (t / (1000 * 60 * 60) % 24) + zone;

但我如何计算考虑闰年的日期?

编辑:它的作业,因此这个奇怪的问题。除了currentTimeMillis()之外,我们不允许使用任何其他方法。操作员等都很好。

1 个答案:

答案 0 :(得分:0)

对于时区相关问题,可以使用以下修复。然而,这只是一个案例:其他案例也需要处理。

//let's say time zone is +5:30
long zone = 6; //instead of 5, keeping value 6, thus added extra 30 minutes
long minuten = (t / (1000 * 60)) % 60;
long stunden = (t / (1000 * 60 * 60) % 24) + zone;
if(minuten < 30){ // this is to take care of the cases where hour has moved ahead
    stunden--;
    minuten+=30;
} else{
    minuten-=30; // else deduct those additional 30 minutes
}