Ako získať aktuálny čas vo formáte RRRR-MM-DD HH:MI:Sec.Millisecond v jazyku Java?

Nižšie uvedený kód mi zobrazí aktuálny čas. Nepovie však nič o milisekundách.

public static String getCurrentTimeStamp() {
    SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//dd/MM/yyyy
    Date now = new Date();
    String strDate = sdfDate.format(now);
    return strDate;
}

Dostávam dátum vo formáte 2009-09-22 16:47:08 (RRRR-MM-DD HH:MI:Sec).

Ale ja chcem získať aktuálny čas vo formáte 2009-09-22 16:47:08.128 ((RRRR-MM-DD HH:MI:Sec.Ms)- kde 128 hovorí o milisekundách.

SimpleTextFormat bude fungovať dobre. Tu je najnižšia jednotka času sekunda, ale ako získam aj milisekundy?

Riešenie
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Komentáre (8)

Stačí, ak do reťazca formátu dátumu pridáte pole milisekundy:

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

V API doc of SimpleDateFormat je podrobne popísaný formátovací reťazec.

Komentáre (0)

skúste toto: -

http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
Date date = new Date();
System.out.println(dateFormat.format(date));

alebo

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
Komentáre (0)