簡體   English   中英

僅使用 currentTimeMillis() 來獲取日期

[英]using only currentTimeMillis() to get the date

所以我完全迷路了。 我必須只使用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() 之外的任何其他方法。 操作員等都很好。

如果不使用其他任何東西,就無法做到這一點。 您必須更清楚有哪些限制以及為什么? 這是家庭作業嗎?

我能想到的最簡單的方法是:

long t = java.lang.System.currentTimeMillis();
System.out.println(new Date(t));

但我相信這不是你所需要的。 請詳細說明...

對於時區相關問題,可以使用以下修復程序。 然而,這只是一種情況:其他情況也需要處理。

//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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM