Dateformat
1. Introduction à DateFormat
Le but de DateFormat est de formater et d'analyser "Date / Heure". En fait, il s'agit d'un outil de formatage pour la date. Il peut nous aider à formater la date, puis à convertir la date en chaîne de chaîne que nous voulons que nous puissions utiliser. Cependant, la date de formatage de DateFormat a une fonctionnalité limitée et n'est pas aussi puissante que SimpledateFormat; Mais DateFormat est la classe parent de SimpledateFormat. Ainsi, nous avons d'abord une compréhension complète de DateFormat, puis apprenons SimpledateFormat.
La fonction de DateFormat est de formater la date. Il prend en charge 4 styles de formatage, y compris complet, long, moyen et court:
(01) dateformat.short
Entièrement un nombre, comme 12.13.52 ou 15h30
(02) DateFormat.Medium
Plus, comme le 12 janvier 1952
(03) DateFormat.Long
Plus, comme le 12 janvier 1952 ou 15:30:32
(04) dateformat.full
est entièrement spécifié, comme le mardi 12 avril 1952 après JC ou 15:30:42 PSP.
La définition de DateFormat est la suivante
La classe abstraite publique NumberFormat étend le format {}
Le constructeur par défaut de l'interface de fonction de DateFormat:
DateFormat ()
Non-constructeur:
Objet clone () booléen égaux (objet objet) format abstrait stringbuffer (date de date, tampon stringbuffer, champ de champ) GetDateInstance (Style int) final static dateformat getDateInstance (style int, paramètre local) final static dateformat getDatetimeInstance (style int, local local) final static dateformat getDatetimeInstance (Inte datestyle, int intystyle) final static static date GetDatetimeInstance (int Datestyle, int hinyle, paramètre local) NumberFormat getNumberformat () Timezone getTimeZone () int hashcode () booléen isLenient () Parse (String String) Résumé Parse (String String setLenientient (valeur booléenne) void SetNumberFormat (NumberFormat Format) void setTimeZone (Timezone Timezone)
Remarque: DateFormat est une classe abstraite.
Lorsque nous obtenons l'instance DateFormat via GetInstance (), GetDateInstance () et GetDateTimeInstance () de DateFormat; Il s'agit en fait de l'objet SimpledateFormat renvoyé.
Les fonctions suivantes sont en fait les objets SimpledateFormat renvoyés.
Final Static DateFormat getInstance () final static dateFormat getTimeInstance () final static dateForat getTimeInstance (int style) final static dateForat getTimeInstance (int style, local local) final static dateformat getDateInstance () final static dateformat getDateInstance (intyle, locale lancier) final statique dateformat getDatEIMEInSance (intyme lancier) final dateform static dateform getDatteIMEInSance (Final Force Finale) Final DateForat GetDatTeIMEinSance (Finale Locale Finale) Final DateForat GetDatTeTheinSance (Finale Locale Finale) Final Dateform STATIC GetDatTeTeIMEinSANCE (Finale Locale Finale) Final DateForma GetDateTimeInstance (int Datestyle, int Intystyle) final statique dateFormat GetDatetimeInstance (int datestyle, inthystyle, paramètre local)
Ces fonctions sont définies dans SimpledateFormat.java comme suit:
public static final int Full = 0; public static final int long = 1; public static final int medium = 2; public static final int short = 3; public static final int Default = medium; public final static dateformat getInstance () {return getDatetimeInstance (short, short);} public final dateFormat getTimeInstance () {return get (default, 0, 1, locale. static dateFormat getTimeInstance (int style) {return get (style, 0, 1, locale.getDefault ());} public final static dateFormat getTimeInstance (int style, locale alocale) {return get (style, 0, 1, alocale);} public static dateformat Final static dateFormat getDateInstance (int style) {return get (0, style, 2, locale.getDefault ());} public final static dateFormat getDateInstance (int style, locale alocale) {return get (0, style, 2, alocale);} public final dateformat Locale.getDefault ());} public final static dateformat getDatetimeInstance (int Datestyle, int Intystyle) {return get (timestyle, datestyle, 3, locale.getDefault ());} public static dateformat getDatetimeinstance (int datestyle, intystyle, locale alocale) ALOCALE);} / ** * Obtenez l'instance DateFormat, qui renvoie en fait l'objet SimpledateFormat. * * Timesrie - La valeur peut être "complète" ou "longue" ou "moyen" ou "court" * Datestyle - la valeur peut être "complète" ou "longue" ou "moyen" ou "courte" * 1 signifie obtenir "Style du temps" * 2 signifie obtenir "Style de date" * 3 signifie obtenir "Style d'heure et de date" * LOC - objet local, représentant "Area" * / Private Static DateFormat Get (INT INTORYLE, INT Datestyle, Int Flags, Locale LOC) {if ((Flags & 1)! = 0) {If (Struilyle <0) Style "+ Immatyle); }} else {timestyle = -1; } if ((Flags & 2)! = 0) {if (datestyle <0 || datestyle> 3) {lancer un nouveau IllégalArgumentException ("style de date illégal" + Datestyle); }} else {datestyle = -1; } Essayez {// Vérifiez si un fournisseur peut fournir une implémentation plus proche // vers les paramètres régionaux demandés que ce que le runtime Java lui-même peut fournir. LocalServiceProviderPool Pool = localServiceProviderPool.getpool (dateFormatProvider.class); if (pool.hasproviders ()) {dateForat providersInstance = pool.getLocalizedObject (dateFormaTGet.instance, loc, iMityle, datestyle, drapeau); if (providersInstance! = null) {return providersInstance; }} return new SimpledateFormat (Timesyle, datestyle, loc); } catch (manquerSourceException e) {return new SimpledateFormat ("m / d / yy h: mm a"); }}Grâce au code ci-dessus, nous pouvons en outre réaliser que la fonction de DateFormat est de formater la date; Aidez-nous à convertir la date de la chaîne dont nous avons besoin. DateFormat offre des fonctions très limitées, il ne peut prendre en charge que quatre formats: complet, long, moyen et court. De plus, lorsque nous obtenons l'instance DateFormat, il s'agit en fait de l'objet SimpleDateFormat renvoyé.
2. Instance DateFormat
Ci-dessous, nous apprenons les API couramment utilisées à l'aide de DateFormat via des exemples.
Le code source est le suivant (dateformattest.java):
import java.util.date; import java.util.locale; import java.text.dateformat; import java.text.fieldose; / ** * Programme de test API pour dateFormat * / public class dateformattest {public static void main (string [] args) {// show only "time": complets gettimestance () function testaget functionttime ();); // Afficher uniquement "Date": Appelez GetDateInstance () Function TestGetDateInstance (); // Afficher "Date" + "Heure": Appelez GetDateTimeInstance () Function TestGetDateTimeInstance (); // Test Format () Function TestFormat (); } / ** * Testez la fonction getTimeInstance () de DateFormat * Il a 3 formulaires surchargés: * (01) GetTimeInstance () * (02) GetTimeInstance (int style) * (03) GetTimeInstance (int style, paramètre local) * * @Author Skywang * / private Static TestEtTimeInstance () {DATEAD DATE = new ();) // Locale Locale = Nouveau lieu ("FR", "FR"); Locale locale = nouveau lieu ("zh", "cn"); // équivalent à dateformat.getTimeInstance (dateFormat.medium); DateFormat Short0 = DateFormat.getTimeInstance (); // Les paramètres sont: "Afficher Style of Time" DateFormat Short1 = DateFormat.getTimeInstance (DateFormat.short); DateFormat medium1 = dateFormat.getTimeInstance (DateFormat.Medium); DateFormat Long1 = DateFormat.getTimeInstance (DateFormat.Long); DateFormat Full1 = DateFormat.getTimeInstance (DateFormat.full); // Les paramètres sont: "DateFormat Display Style" et "Region" DateFormat Short2 = DateFormat.getTimeInstance (DateFormat.Short, Locale); DateFormat medium2 = dateFormat.getTimeInstance (dateFormat.Medium, Locale); DateFormat Long2 = DateFormat.getTimeInstance (DateFormat.Long, Locale); DateFormat Full2 = DateFormat.getTimeInstance (DateFormat.Full, Locale); System.out.println ("/ n ---- GetTimeInstance --- / n" + "(1.0) PARAM VID long1.format (date) + "/ n" + "(2.4) un param (f):" + full1.format (date) + "/ n" + "(3.1) un param (s, l):" + short2.format (date) + "/ n" + "(3.2) un param (m, l):" + medium2.format (date) + "/ n" + "(3.3) long2.format (date) + "/ n" + "(3.4) un param (f, l):" + full2.format (date) + "/ n"); } / ** * Testez la fonction GetDatetimeInstance () de DateFormat * Il a 3 formulaires surchargés: * (01) GetDateInstance () * (02) GetDateInstance (int style) * (03) GetDateInstance (INT Style, Locale Locale) * / public Static Void TestGetDateTimeInstance () {Date Dates = New Date ();); Locale locale = nouveau lieu ("zh", "cn"); // équivalent à dateFormat.getDateTimeInstance (dateFormat.Medium); DateFormat Short0 = DateFormat.getDateTimeInstance (); DateFormat Short1 = DateFormat.getDateTimeInstance (DateFormat.short, DateFormat.short); DATEFORMAT MIDGIE1 = DATEFORMAT.GetDateTimeInstance (DateFormat.Medium, DateFormat.Medium); DateFormat Long1 = DateFormat.getDateTimeInstance (DateFormat.Long, DateFormat.Long); DateFormat Full1 = DateFormat.getDateTimeInstance (DateFormat.full, DateFormat.full); DateFormat Short2 = DateFormat.getDateTimeInstance (DateFormat.short, DateFormat.Short, Locale); DateFormat medium2 = dateformat.getDateTimeInstance (dateFormat.Medium, DateFormat.Medium, Locale); DateFormat Long2 = DateFormat.getDateTimeInstance (DateFormat.Long, DateFormat.Long, Locale); DateFormat Full2 = DateFormat.getDateTimeInstance (DateFormat.full, DateFormat.Full, Locale); System.out.println ("/ n ---- GetDateTimeInstance --- / n" + "(1.0) Param vide:" + short0.format (date) + "/ n" + "(2.1) un param (s):" + short1.format (date) + "/ n" + "(2.2) un param (m):" + medium1.format (Date) + "/ n" + ". "+ long1.format (date) +" / n "+" (2.4) un param (f): "+ full1.format (date) +" / n "+" (3.1) un param (s, l): "+ short2.format (date) +" / n "+" (3.2) un param (m, l): "+ medium2 (date) +" / n "+" (3.3) long2.format (date) + "/ n" + "(3.4) un param (f, l):" + full2.format (date) + "/ n"); } / ** * Testez la fonction getDateInstance () de DateFormat * Il a 3 formulaires surchargés: * (01) GetDatetimeInstance () * (02) GetDatetimeInstance (int Datestyle, int hume date = new Date (); // Locale Locale = Nouveau lieu ("EN", "US"); Locale locale = nouveau lieu ("zh", "cn"); // équivalent à dateFormat.getDateInstance (dateFormat.Medium); DateFormat Short0 = dateFormat.getDateInstance (); DATEFORMAT Short1 = DateFormat.getDateInstance (DateFormat.short); DateFormat medium1 = dateFormat.getDateInstance (dateFormat.Medium); DateFormat Long1 = DateFormat.getDateInstance (DateFormat.Long); DateFormat Full1 = DateFormat.getDateInstance (DateFormat.full); DateFormat Short2 = DateFormat.getDateInstance (DateFormat.short, Locale); DATEFORMAT MIDGIE2 = DATEFormat.getDateInstance (DateFormat.Medium, Locale); DateFormat Long2 = DateFormat.getDateInstance (DateFormat.Long, Locale); DateFormat Full2 = DateFormat.getDateInstance (DateFormat.Full, Locale); System.out.println ("/ n ---- GetDateInstance --- / n" + "(1.0) PARAM VID long1.format (date) + "/ n" + "(2.4) un param (f):" + full1.format (date) + "/ n" + "(3.1) un param (s, l):" + short2.format (date) + "/ n" + "(3.2) un param (m, l):" + medium2.format (date) + "/ n" + "(3.3) long2.format (date) + "/ n" + "(3.4) un param (f, l):" + full2.format (date) + "/ n"); } / ** * Test DateFormat Format () Fonction * / public static void testFormat () {date date = new Date (); StringBuffer sb = new StringBuffer (); FieldPosition Field = new FieldPosition (dateFormat.year_field); DateFormat format = dateFormat.getDateTimeInstance (); sb = format.format (date, sb, champ); System.out.println ("/ ntestFormat"); System.out.printf ("SB =% S / N", SB); }} Résultats en cours:
--- getTimeInstance --- (1.0) Param vide: 4:54:22 PM (2.1) Un param (s): 4:54 PM (2.2) un param (m): 4:54:22 PM (2.3) un param (L): 4:54:22 PM CST (2.4) One Param (F): 4:54:22 PM CST (3.1) CST (3.1) One Param (S, L): 4:54 (3.2) Un param (m, l): 16:54:22 (3.3) un param (l, l): 4:54:22 PM (3.4) un param (F, L): 4:54:22 PM CST --- GetDateInstance --- (1.0) Empty Param: Jan 23, 2014 (2.1) 1/23/14 (2.2) One Param (M): 23 janvier 2014 (2.3) One Param (L): 23 janvier 2014 (2.4) One Param (F): Jeudi 23 janvier 2014 (3.1) One Param (S, L): 14-1-23 (3.2) One Param (M, L): 2014-1-23 (3.3) One Param (L, L): Janvier 23, 2014 (3.4) 23 janvier 2014 --- GetDatetimeInstance ---- (1.0) Param vide: 23 janvier 2014 4:54:23 PM (2.1) Un param (s): 1/23/14 16:54 PM (2.2) Un param (M): 23 janvier 2014 4:54:23 PM (2.3) Un paramètre (L): Janvier 23, 2014 4:54:23 PM CST (2.4): F): Janvier 23, 2014 4:54:23 PM CST (2.4) Jeudi 23 janvier 2014 16:54:23 PM CST (3.1) One Param (S, L): 14-1-23 4:54:23 PM CST (3.1) One Param (S, L): 2014-1-23 16:54:23 (3.3) One Param (L, L): 04:54:23 (3.4) One Param (F, L): jeudi, 23 janvier, 2014 04:5: 23 PM (F, L): Jeudi, 23 janvier, 2014 04:5:2:23 PM (F, L): Jeudi, 23 janvier 23, 2014 04:5: 23 PM (F, L): Jeudi, 23 janvier 23, 2014 04:5:2:23 PM (F, L): Jeudi, 23 janvier 23, 2014 04:5:2:23 PM (F, L): Jeudi, 23 janvier 23, 2014 04:5:2:23. CST (3.1) One Param (S, L): Jeudi 23 janvier 2014 04:54:23 CSTTestFormatsB = 23 janvier 2014 16:54:23
D'ACCORD. Jusqu'à présent, l'apprentissage de DateFormat a pris fin. Ensuite, nous commençons à apprendre SimpledateFormat, ce que vous devez comprendre lors de la date de mise en forme.
Simpledateformat
1. Introduction à SimpledateFormat
SimpledateFormat est un outil pour la date de mise en forme et les chaînes de date d'analyse. Son plus couramment utilisé est de formater la date au format spécifié, puis nous utilisons les chaînes que nous pouvons formater la date.
Plus strictement parlant, SimpledateFormat est une classe spécifique qui formate et analyse les dates d'une manière liée aux paramètres régionaux. Il permet le formatage (date-> texte), l'analyse (text-> date) et la normalisation.
Constructeur SimpledateFormat:
Constructeur
SimpledateFormat () SimpledateFormat (modèle de chaîne) SimpledateFormat (modèle de chaîne, valeur dateForTatSymbols) SimpledateFormat (modèle de chaîne, paramètres régionaux)
Non-construction
void applatlocalizedPattern (modèle de chaîne) void applattern (modèle de chaîne) clone d'objet () booléen égaux (objet objet) format stringbuffer (date de date, tampon stringbuffer, objet FieldPosition) AttributedCharacterator FormatToChaRacteRator (Object Object) Date Get2DigityAtStart () dateformatsymbols GetDateformAtsy HashCode () Date Parse (chaîne String, ParsePosition Position) void Set2DigityEaStart (date de date) void setDateFormAtSymbols (DateFormatsymbols Value) String tolocalizedPattern () String topattern ()
Démonstration simple simpledateFormat:
// Créer un nouvel objet de date, l'heure est 2013-09-19Date Date = nouvelle date (113,8,19); // Créez un nouvel "objet SimpleDateFormat" et définissez le "Mode Format" de SDF SimpledateFormat SDF = new SimpledateFormat ("Yyyy-mm-dd"); // Date de format avec SDF et renvoyez la chaîne. String str = sdf.format (date); 2. Description du format lié à SimpledateFormat
2.1 Mode Date et Heure
Le format de date et d'heure est spécifié par la chaîne de date et d'heure. Dans les chaînes de motifs de date et de délai, les lettres non cotées «a« à «z» et «a» à «z» sont interprétées comme des lettres de modèle pour représenter des éléments de la chaîne de date ou de temps. Le texte peut être enfermé en citations uniques (') pour éviter les explications. "''" signifie citations simples. Tous les autres personnages ne sont pas interprétés; Ils sont simplement copiés sur la chaîne de sortie lorsqu'ils sont formatés, ou correspondent à la chaîne d'entrée lorsqu'ils sont analysés.
Les lettres de modèle suivantes sont définies (tous les autres caractères «a« à «z» et «a» à «z» sont conservés):
| lettre | Date ou élément d'heure | exprimer | Exemple |
| G | Logo de l'ère | Texte | ANNONCE |
| y | Année | Année | 1996; 96 |
| M | Mois de milieu de l'année | Mois | Juillet; Juillet; 07 |
| w | Semaines de l'année | Nombre | 27 |
| W | Semaines du mois | Nombre | 2 |
| D | Jours de l'année | Nombre | 189 |
| d | Jours du mois | Nombre | 10 |
| F | Semaine du mois | Nombre | 2 |
| E | Jours de la semaine | Texte | Mardi; Mar |
| un | Tag AM / PM | Texte | PM |
| H | Heures par jour (0-23) | Nombre | 0 |
| k | Heures par jour (1-24) | Nombre | vingt-quatre |
| K | Nombre d'heures en AM / PM (0-11) | Nombre | 0 |
| H | Nombre d'heures en AM / PM (1-12) | Nombre | 12 |
| m | Minutes en heures | Nombre | 30 |
| s | Nombre de secondes en minutes | Nombre | 55 |
| S | Nombre de millisecondes | Nombre | 978 |
| z | Fuseau horaire | Fuseau horaire général | Heure normale du Pacifique; TVP; GMT-08: 00 |
| Z | Fuseau horaire | Fuseau horaire RFC 822 | -0800 |
| Mode de date et d'heure | résultat |
| "yyyy.mm.dd g 'à' hh: mm: ss z" | 2001.07.04 AD à 12:08:56 PDT |
| "Eee, mmm d, '' yy" | Mer, 4 juillet '01 |
| "H: mm a" | 12h08 |
| "HH 'O''Clock' a, zzzz" | 12 heures PM, heure du jour du Pacifique |
| "K: MM A, Z" | 12h08, PDT |
| "Yyyyyy.mmmmmmmm.dd GGG HH: MM AAA" | 02001. juillet 04 AD 12:08 PM |
| "Eee, d mmm yyyy hh: mm: ss z" | Mer, 4 juil 2001 12:08:56 -0700 |
| "yymmddhhmmssz" | 010704120856-0700 |
| "Yyyy-mm-d't'hh: mm: ss.sssz" | 2001-07-04T12: 08: 56.235-0700 |
Importer java.util.date; import java.util.locale; import java.util.calendar; import java.text.dateformat; import java.text.simpledateFormat; / ** * Programme de test API de SimpledateFormat * * @Author Skywang * @email [email protected] * / public Skywang * @email [email protected] * / public SkyWang static void main (String [] args) {// obtenir la date / heure via SimpledateFormat: il existe plusieurs formats à testsimpledateFormats (); // Obtenez la date / heure avec DateFormat SuperTest (); } / ** * Obtenez la date / l'heure avec SimpledateFormat. Il existe de nombreux formats à choisir * / private static void testSimpledateFormats () {String [] formats = new String [] {"hh: mm", // 14:22 "h: mm a", // 2:22 PM "HH: MM Z", // 14:22 +0800 "HH: MM Zzzz", // 14:22 Cette 2013-09-19 14:22:30 "yyyyy-MM-dd HH:mm:ss.SSSZ", // 2013-09-19 14:22:30 "yyyy-MM-dd HH:mm:ss.SSSZ", // 2013-09-19 14:22:30 "yyyy-MM-dd HH:mm:ss.SSSZ", // 2013-09-19T14: 22: 30.000 + 0800 "Yyyyy.mm.dd G 'à' HH: MM: SS Z", // 2013.09.19 AD à 14:22:30 CST "K: MM A", // 2:22 PM, CST "EEE, MMM D, '' YYY", // jeudi, 19 septembre, '13 "Hh 'O'' '", // jeudi, 19 septembre. A, ZZZZ ", // 02 O'Clock PM, CST" Yyyyyy.mmmm.dd GGG HH: MM AAA ", // 02013. 19 septembre AD à 02:22 PM" EEE, D MMM YYYY HH: MM: SS Z ", // Jeudi 19 septembre 14:22:30 +0800" YymmddhhmmsSz ",", ", //20 130919142230 + 0800 "Yyyy-mm-d't'hh: mm: ss.sssz", // 2013-09-19t14: 22: 30.000 + 0800 "Eeee 'Date (' Yyyy-mm-dd ')' 'Time (' HH: MM: SS ')' Zzzz", //day, 2013-09-19:20 ')' zzzz ", //day, 2013-09-19:20 ')' zzzz", //day, 2013-09-19:20 ')') ' Cst}; // Date de date = (nouvelle date (0)); // Date est 1970-01-01 07:00:00 // Date de date = calendar.getInstance (). GetTime (); // Date est la date d'heure actuelle Date = nouvelle date (113, 8, 19, 14, 22, 30); // Date est 2013-09-19 14:22:30 pour (Format de chaîne: formats) {SimpledateFormat sdf = new SimpledateFormat (format, locale.simplified_chinese); // SimpledateFormat sdf = new SimpledateFormat (format); System.out.format ("% 30s% s / n", format, sdf.format (date)); }} / ** * Obtenez la date / heure via DateFormat * / Private Static Void SuperTest () {// Créer un nouvel objet de date, l'heure est 2013-09-19 14:22:30 // (01) année = "'Target Year' - 1900", // (02) mois. 0 est janvier, 1 est février, etc. // (03) jour. Numéro entre 1-31 date mdate = nouvelle date (113, 8, 19, 14, 22, 30); Locale locale = nouveau lieu ("zh", "cn"); // 14:22:30 String time = dateFormat.getTimeInstance (dateFormat.Medium, Locale.simpplified_chinese) .Format (mdate); // 2013-09-19 String Date = DateFormat.getDateInstance (DateFormat.Medium, Locale.Simplified_Chinese) .Format (MDATE); // 2013-09-19 14:22:30 String DateTime = DateFormat.getDateTimeInstance (DateFormat.Medium, DateFormat.Medium, Locale.Simplified_Chinese) .Format (mdate); System.out.printf ("/ ntime =% s / ndate =% s / ndateTime =% s / ndateTime =% s / n", heure, date, datetime); }}
Résultats en cours:
HH: MM 14:22 H: MM A 2:22 PM HH: MM Z 14:22 CST HH: MM Z 14:22 +0800 HH: MM ZZZZ 14:22 CST HH: MM: SS 14:22:30 YYYY-MM-DD 2013-09-19 Yyyy-mm-dd HH: MM: SS 2013-09-19 14:22:30 Yyyy-mm-dd HH: MM: SS ZZZZ 2013-09-19 14:22:30 YYYY-MM-DD HH: MM: SS ZZZZ 2013-09-19 2013-09-19 14:22:30 Yyyy-mm-dd HH: MM: SS ZZZZ 2013-09-19 14:22:30 Yeeee Yyyy-mm-dd HH: MM: SS ZZZZ jeudi 2013-09-19 14:22:30 CST K: MM A 2: 22: 30.000 + 0800 Yyyy-mm-d't'hh: MM: SS.SSSZ 2013-09-19T14: 22: 30.000 + 0800 yyyyy.mm.dd G 'à' HH: MM: SS Z 2013.09.19 AD à 14:22:30 CST K: MM A 2:22 PM Eee, mmm D, '' 'O''Clock' A, Zzzz 02 O'Clock PM, Yyyyyy.mmmmmmmmm.dd GGG HH: MM AAA 02013. 19 septembre 02:22 PM EEE, D MMM YYYY HH: MM: SS Z JEUDI, 19 septembre 2013 14:22:30 +0800 YymmMDHHMMSSZ 130919142230 + 0800 YymmmmhhmmsSZ 130919142230 + 0800 YymmmmmmmsSZ 13091914223300. Yyyy-mm-d't'hh: MM: SS.SSSZ 2013-09-19T14: 22: 30.000 + 0800EEE 'DATE (`` Yyyy-mm-dd') '' Time ('HH: MM: SS') 'ZZZZ JEUDI Date (2013-09-19) Time (14:22:30) China Standard China Temps = 14: 22: 30Date = 2013-9-19dateTime = 2013-9-19 14:22:30