[英]Get absolute time using result of System.currentTimeMillis in android
[英]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.