2015-04-16 129 views
-2

我正在努力尋找將秒轉換爲年,月,周,小時,分鐘和秒的解決方案。將秒轉換爲年,月,周,小時,分和秒

例:

我所有的意見
public Time(int inputSeconds) { 
    int years = 0; 
    int months = 0; 
    int weeks = 0; 
    int days = 0; 
    int hours = 0; 
    int seconds = 0; 
} 
+0

嘗試谷歌搜索幾秒鐘到幾小時...秒到幾天...幾秒到幾周...等... – brso05

+8

你不能將秒轉換成幾個月。一個月不是一個標準的時間量 – ControlAltDel

+0

一個月內幾秒鐘? –

回答

3

首先是從int長改變時間變量的類型。

Date類中有某種方法可以幫助您實現這一點,但請記住截至目前,這些方法已被棄用。

import java.util.Date; 
import java.util.Random; 


class MyTime { 

    int years; 
    int months; 
    int day; 
    int hours; 
    int seconds; 

    public MyTime(long inputSeconds) { 
     Date d = new Date(inputSeconds); 
     this.years = d.getYear(); 
     this.months = d.getMonth(); 
     this.day = d.getDay(); 
     this.hours = d.getHours(); 
     this.seconds = d.getSeconds(); 
    } 

    public static void main(String[] args) { 
     new MyTime(new Date().getTime()).show(); 
    } 

    public void show() { 
     System.out.println("" + years + ""); 
     System.out.println("" + months + ""); 
     System.out.println("" + day + ""); 
     System.out.println("" + hours + ""); 
     System.out.println("" + seconds + ""); 
    } 

} 
+0

是的,我有一個使用Date的想法,但我不知道如何,謝謝! –

+0

歡迎@faris, –

+0

很久以前,Date類的getXXX()方法已被棄用。因此,將它們用於任何目的不是一個好主意。 – mvsagar

1

對於周,日,小時,分鐘和秒就可以做一些簡單的轉換是這樣的:

int weeks = seconds/604800; 
int days = (seconds % 604800)/86400 
int hours = ((seconds % 604800) % 86400)/3600; 
int minutes = (((seconds % 604800) % 86400) % 3600)/60; 
int seconds = (((seconds % 604800) % 86400) % 3600) % 60; 

的語法就是讓你明白的地方以前的值從何而來。

對於它在一個月取決於(例如二月裏有更少的天數比任何其他),如果你正在考慮到閏年(365天)或沒有。

+0

謝謝,是的,我剛纔發現這不會很好,因爲有時會有不同的日子等。再次感謝。 –

+0

不客氣! –

相關問題