2012-06-19 30 views
-2

我即將實現一個小程序,我需要從1970年1月1日UTC時間00:00:00 UTC到2009年6月22日UTC時間之後經過的秒數。指出我正確的方向,如何實現這一目標。Java中的時間函數

+0

看看'long Date.getTime()'。 – sp00m

+1

哦,來吧。你甚至嘗試過什麼嗎? – f1sh

回答

2
public static void main(String[] args) { 
    Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); 
    calendar.set(2009, 5, 22, 0, 0, 0); 
    System.out.println("ms: " + calendar.getTimeInMillis()); 
} 

如果要解析的字符串表示日期,看看SimpleDateFormat。儘管在一個答案中提出了這個問題,但應避免使用靜態實例,因爲它們不是線程安全的。

+0

+1記住設置時區。 – Adam

0

肯定的:它很容易得到毫秒從紀元:

long ms = System.currentTimeMillis(); 

這裏是你如何從一個特定的時間內得到毫秒:

private static final String DEFAULT_PATTERN = "yyyy-MMM-dd hh:mm:ss"; 
private static final DateFormat FORMATTER; 

static { 
    FORMATTER = new SimpleDateFormat(DEFAULT_PATTERN); 
    FORMATTER.setLenient(false); 
} 

public static long getDateMilliseconds(String dateStr) throws ParseException { 
    return FORMATTER.parse(dateStr).getTime(); 
} 
+0

是的,我知道但我需要在時代與特定時間fx之間流逝的秒數。 2009年6月22日00:00:00 UTC –