2012-06-19 4 views
-2

Je suis sur le point de mettre en œuvre un petit programme où j'ai besoin des secondes écoulées depuis 00:00:00 UTC du 1er janvier 1970 à 00:00:00 UTC le 22 juin 2009. Pourriez-vous s'il vous plaît montrez-moi dans la bonne direction, comment y parvenir.Fonction de temps en Java

+0

Jetez un oeil à 'long Dategetget()'. – sp00m

+1

Oh viens. Avez-vous même essayé quelque chose? – f1sh

Répondre

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()); 
} 

Si vous voulez analyser la représentation chaîne de Date, jetez un oeil à SimpleDateFormat. Bien qu'il ait été suggéré dans une réponse, vous devez éviter d'utiliser des instances statiques car elles ne sont pas sécurisées par les threads.

+0

+1 pour avoir oublié de régler le fuseau horaire. – Adam

0

Bien sûr: Il est facile d'obtenir millisecondes depuis l'époque:

long ms = System.currentTimeMillis(); 

Voici comment vous obtenez millisecondes à partir d'un moment précis:

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

Oui, je sais, mais j'ai besoin des secondes écoulées entre l'époque et un certain temps fx. 22 juin 2009 00:00:00 UTC –