2008-10-22 5 views
7

Comment puis-je transformer une valeur de temps au format AAAA-MM-JJ en Java?Comment transformer une valeur temporelle en format AAAA-MM-JJ en Java?

long lastmodified = file.lastModified(); 
String lasmod = /*TODO: Transform it to this format YYYY-MM-DD*/ 
+0

Voulez-vous dire AAAA-MM-JJ? –

+0

oui, j'ai édité la question. Año = Année en espagnol –

+0

duplicata possible de [Comment obtenir l'heure actuelle en AAAA-MM-JJ HH: MI: Sec.Millisecond format en Java?] (Http://stackoverflow.com/questions/1459656/how-to -get-the-current-time-in-aaaa-mm-jj-milliseconde-format-en-java) – Raedwald

Répondre

25

Quelque chose comme:

Date lm = new Date(lastmodified); 
String lasmod = new SimpleDateFormat("yyyy-MM-dd").format(lm); 

Voir la javadoc pour SimpleDateFormat.

+0

Juste pour énoncer l'évidence ici, si vous faites ceci dans le contexte d'un objet de longue vie ou dans une boucle, vous voulez probablement construire l'objet SimpleDateFormat une fois et le réutiliser. – nsayer

+1

Bien que méfiez-vous - SimpleDateFormat n'est pas sûr pour les threads –

3
String lasmod = new SimpleDateFormat("yyyy-MM-dd").format(new Date(lastmodified)); 

Recherchez le modèle correct que vous voulez pour SimpleDateFormat ... J'ai peut-être inclus le mauvais de la mémoire.

0
Date d = new Date(lastmodified); 
DateFormat form = new SimpleDateFormat("yyyy-MM-dd"); 
String lasmod = form.format(d); 
+0

Minuscule 'mm' est minute. – sblundy

4
final Date modDate = new Date(lastmodified); 
final SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd"); 
final String lasmod = f.format(modDate); 

SimpleDateFormat

1

Essayez:

import java.text.SimpleDateFormat; 
import java.util.Date; 

long lastmodified = file.lastModified(); 
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 
String lastmod = format.format(new Date(lastmodified)); 
Questions connexes