Quelqu'un peut-il me faire savoir les formats de date disponibles dans la classe SimpleDateFormat.
Je suis passé par api mais je n'ai pas trouvé de réponse satisfaisante. Toute aide est vivement appréciée.
Les formats de date et heure sont bien décrits ci-dessous
SimpleDateFormat (Java Platform SE 7) - Modèles de date et d'heure
Il peut y avoir n
Nombre de formats que vous pouvez éventuellement créer. ex - dd/MM/yyyy
ou YYYY-'W'ww-u
ou vous pouvez mélanger et faire correspondre les lettres pour obtenir le motif souhaité. Les lettres de modèle sont comme suit.
G
- Indicateur de l'époque (AD)y
- Année (1996; 96)Y
- Année de la semaine (2009; 09)M
- Mois de l'année (juillet; juillet; 07)w
- Semaine de l'année (27)W
- Semaine en mois (2)D
- Jour de l'année (189)d
- Jour du mois (10)F
- Jour de la semaine dans le mois (2)E
- Nom du jour en semaine (mardi; mardi)u
- Numéro du jour de la semaine (1 = lundi, ..., 7 = dimanche)a
- marqueur AM/PMH
- Heure du jour (0-23)k
- Heure du jour (1-24)K
- Heure am/pm (0-11)h
- Heure am/pm (1-12)m
- Minute en heure (30)s
- Deuxième en minute (55)S
- Milliseconde (978)z
- Fuseau horaire général (heure normale du Pacifique; PST; GMT-08: 00)Z
- Fuseau horaire RFC 822 (-0800)X
- Fuseau horaire ISO 8601 (-08; -0800; -08: 00)Pour analyser:
2000-01-23T04: 56: 07.000 + 0000
Utilisez: new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Permettez-moi de vous donner un exemple de code que j'ai obtenu de http://www3.ntu.edu.sg/home/ehchua/programming/Java/DateTimeCalendar.html Ensuite, vous pouvez jouer avec différentes options jusqu'à ce que vous comprenez.
import Java.text.SimpleDateFormat;
import Java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date now = new Date();
//This is just Date's toString method and doesn't involve SimpleDateFormat
System.out.println("toString(): " + now); // dow mon dd hh:mm:ss zzz yyyy
//Shows "Mon Oct 08 08:17:06 EDT 2012"
SimpleDateFormat dateFormatter = new SimpleDateFormat("E, y-M-d 'at' h:m:s a z");
System.out.println("Format 1: " + dateFormatter.format(now));
// Shows "Mon, 2012-10-8 at 8:17:6 AM EDT"
dateFormatter = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Format 2: " + dateFormatter.format(now));
// Shows "Mon 2012.10.08 at 08:17:06 AM EDT"
dateFormatter = new SimpleDateFormat("EEEE, MMMM d, yyyy");
System.out.println("Format 3: " + dateFormatter.format(now));
// Shows "Monday, October 8, 2012"
// SimpleDateFormat can be used to control the date/time display format:
// E (day of week): 3E or fewer (in text xxx), >3E (in full text)
// M (month): M (in number), MM (in number with leading zero)
// 3M: (in text xxx), >3M: (in full text full)
// h (hour): h, hh (with leading zero)
// m (minute)
// s (second)
// a (AM/PM)
// H (hour in 0 to 23)
// z (time zone)
// (there may be more listed under the API - I didn't check)
}
}
Bonne chance!
vérifiez les formats ici http://docs.Oracle.com/javase/7/docs/api/Java/text/SimpleDateFormat.html
principal
System.out.println("date : " + new classname().getMyDate("2014-01-09 14:06", "dd-MMM-yyyy E hh:mm a z", "yyyy-MM-dd HH:mm"));
méthode
public String getMyDate(String myDate, String returnFormat, String myFormat)
{
DateFormat dateFormat = new SimpleDateFormat(returnFormat);
Date date=null;
String returnValue="";
try {
date = new SimpleDateFormat(myFormat, Locale.ENGLISH).parse(myDate);
returnValue = dateFormat.format(date);
} catch (ParseException e) {
returnValue= myDate;
System.out.println("failed");
e.printStackTrace();
}
return returnValue;
}