2016-01-27 1 views
-1

Je dois convertir la chaîne en date. Pour que j'utilise:Décalage lors de la conversion de la chaîne en date

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd"); 
    Date date = formatter.parse("2016-01-26"); 
    System.out.println("Date:"+date); 

Mais la sortie que je reçois est Date:

Tue Jan 26 00:01:00 IST 2016

au lieu de Date:

Tue Jan 26 00:00:00 IST 2016.

Quelqu'un peut-il s'il vous plaît expliquer pourquoi je reçois un décalage de 1 min (00:01:00)

+6

Try ' "aaaa-mm-jj"', donc le * mois * n'est pas interprété comme ** minute **. – Andreas

+0

C'est correct. "mm" pour la minute. – Satya

+0

J'ai compris. Merci. –

Répondre

1

Essayez d'utiliser le format yyyy-MM-dd.

mm est minutes alors que MM mois

public static void main(String[] args) throws ParseException { 
     SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
     Date date = formatter.parse("2016-01-26"); 
     System.out.println("Date:" + date); 
    } 

sortie

Date:Tue Jan 26 00:00:00 IST 2016 
+0

Ça a marché. Merci beaucoup. –

1

Vous devez définir 'MM'. Petit 'mm' est utilisé pour les minutes. S'il vous plaît vérifier le lien ci-dessous pour tous les formats

essayer ce code.

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
    Date date = formatter.parse("2016-01-26"); 
    System.out.println("Date:"+date); 

Vérifiez ci-dessous le format


y = année
Q = trimestre
M = mois
w = semaine de l'année
W = semaine du mois
d = jour du mois
D = jour de l'année
E = jour de la semaine
a = péri od (AM ou PM)
h = heure (1-12)
H = heure (0-23)
m = minute
s = seconde