2017-08-08 2 views
-2

Je souhaite prendre l'heure actuelle indépendamment de la date du système. J'utilise Glassfish server et derby dans netbeans. J'ai essayé le code ci-dessous pour obtenir la date actuelle selon IST:Définissez le fuseau horaire sur IST, mais je reçois toujours une erreur de date erronée

DateFormat df = new SimpleDateFormat("yyyymmdd"); 
    df.setTimeZone(TimeZone.getTimeZone("ist")); 
    String gmtTime = df.format(new java.util.Date().getTime()); 

    java.util.Date parsed = null; 
    try { 
     parsed = (java.util.Date) df.parse(gmtTime); 
    } catch (ParseException ex) { 
     Logger.getLogger(EmployeePanel.class.getName()).log(Level.SEVERE, null, ex); 
    } 
    java.sql.Date date = new java.sql.Date(parsed.getTime()); 

mais je reçois 08/01/2017 au lieu de 08/08/2017.

+0

En dehors de la réponse de Jens, vérifier cette question aussi -> [Java fuseau horaire - comportement étrange avec IST?] (Https://stackoverflow.com/questions/11264697/java-timezone -strange-behavior-with-ist) –

Répondre

1

m est la minute et non le mois (M). Le bon motif est:

SimpleDateFormat("yyyyMMdd"); 

La définition du motif est sensible à la casse!

Pour plus d'informations voir the javadoc of SimpleDateFormat