2012-12-06 139 views
0

我有一點java代碼可以找到一個人的日期。它看起來像這樣:在幾個月,幾周或幾天內發現年齡

Calendar now = Calendar.getInstance(); 
    Calendar dob = Calendar.getInstance(); 

    dob.setTime(birthDay); /*assume this is not null */ 

    int age = now.get(Calendar.YEAR) - dob.get(Calendar.YEAR); 

    if (now.get(Calendar.DAY_OF_YEAR) < dob.get(Calendar.DAY_OF_YEAR)) 
    { 
    age--; 
    } 

現在,我想說,如果該人是不到1歲的時候,發現這個人有多少個月。如果此人不到1個月大,請查明此人有多少個星期。如果此人不到1周大,請查明此人有多少天。

僞代碼:

if (age < 1) 
{ 
    ///? 
} 
+1

* *東西在[約達時間](HTTP ://joda-time.sourceforge.net/)應該能夠輕鬆做到這一點。你正在尋找'時間間隔'或'持續時間'或'期間'。 – millimoose

+1

@millimoose:這是期間。間隔和持續時間大約是瞬間。 –

回答

1

是這樣的:

import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Calendar; 
import java.util.Date; 


public class TimeDiff { 

    public static void main(String[] args) throws ParseException { 
     Date now = new Date(); 
     System.out.println(now); 
     Date birthDate = new SimpleDateFormat("dd-MM-yyyy").parse("7-12-1983"); 
     System.out.println(birthDate); 

     Date age = new Date(now.getTime() - birthDate.getTime()); 
     Calendar instance = Calendar.getInstance(); 
     instance.setTime(age); 
     instance.add(Calendar.YEAR, -1970); 
     SimpleDateFormat sdf = new SimpleDateFormat("d-W-MM-yyyy"); 
     System.out.println(sdf.format(instance.getTime())); 
    } 

} 
1

getTimeInMillis()爲您提供毫秒的時間。有了這個值,你可以簡單地計算。一秒鐘內有多少毫秒,一分鐘內有多少,一小時,一天,一個月等等。

時間(秒):VAR =一毫秒/ 1000 時間以分鐘爲單位:A/60 ...

相關問題