2017-05-08 110 views
-1

我需要從timeMillis切換到分鐘,但分是因爲午夜分鐘。例如14963.58億應該是360如何timeMillis通過轉換分鐘?以及如何通過julianday轉換timeMillis?

其次,我需要從timeMillis轉換爲儒略日。例如:長milis = 14963.58億轉移到儒略日爲2457907. 誰能幫我如何將它轉換。謝謝!

編輯:我做到了!這是我轉換爲儒略日

public int convertToCurentJulian(Calendar calendar){ 

    int year = calendar.get(calendar.YEAR); 

    int month = calendar.get(calendar.MONTH)+1; 
    int day = calendar.get(calendar.DAY_OF_MONTH); 

    int a = (14 - month)/12; 
    int y = year + 4800 - a; 
    int m = month + 12 * a - 3; 
    int jdn = day + (153 * m + 2)/5 + 365*y + y/4 - y/100 + y/400 - 32045; 

    return jdn; 
} 

方法 - 這是從交換機到timeInMillis分:

Calendar cal = Calendar.getInstance(); 

cal.setTimeInMillis(longTimeMillis); 

int minutesSinceMidnight= (cal.get(cal.HOUR_OF_DAY) * 60) +(cal.get(cal.MINUTE)); 
+0

你需要決定,在哪個時區午夜。 –

+0

,因爲我已經插入timeInMillis,不需要有時區 –

+0

在我的電腦上,你的代碼產生60分鐘,而不是360.在具有TimeZone.getTimeZone(「America/New_York」)的計算機上,它產生Julian日2457906 2457907)和1140分鐘。時區有所不同。如果您對您的代碼感到滿意,那麼我也是如此,只是不要期望它能在所有Android手機上獲得相同的結果。 –

回答

1
long minutes = TimeUnit.MILLISECONDS.toMinutes(millis); 
+0

我都試過,但輸出是一些不正確的在我的郵件被放在上面。 –

+0

輸出是什麼? – derM

+0

謝謝。我做的! –