DateFormat
1. Introdução ao DateFormat
O objetivo do DateFormat é formatar e analisar a "data/hora". De fato, é uma ferramenta de formatação para data. Ele pode nos ajudar a formatar a data e depois converter a data na string que queremos usarmos. No entanto, a data de formatação do DateFormat tem funcionalidade limitada e não é tão poderosa quanto o SimpleDateFormat; Mas o DateFormat é a classe pai do SimpleDateFormat. Então, primeiro temos um entendimento abrangente do DateFormat e depois aprendemos o SimpleDateFormat.
A função do DateFormat é para formatar a data. Ele suporta 4 estilos de formatação, incluindo completo, longo, médio e curto:
(01) DateFormat.short
Completamente um número, como 12.13.52 ou 15:30
(02) DateFormat.medium
Mais, como 12 de janeiro de 1952
(03) DateFormat.long
Mais, como 12 de janeiro de 1952 ou 15:30:32
(04) dateFormat.full
está totalmente especificado, como terça -feira, 12 de abril de 1952, ou 15:30:42 PST.
A definição de dataFormat é a seguinte
Classe public abstrata numberFormat estende o formato {}
O construtor padrão da interface de função do DateFormat:
DateFormat ()
Não constitui:
Object clone()boolean equals(Object object)abstract StringBuffer format(Date date, StringBuffer buffer, FieldPosition field)final StringBuffer format(Object object, StringBuffer buffer, FieldPosition field)final String format(Date date)static Locale[] getAvailableLocales()Calendar getCalendar()final static DateFormat getInstance()final static DateFormat GetDateInstance (Int Style) Data estática final GetDateInstance (Int Style, Local Locale) final estático DateFormat GetDateTimeInstance (Int Style, Local Locale) Final DateFormat FetFormat GetDatETimeInStance (Datestyle INT, Int Timestyle) Final Static DateFormat GetDeTeTimeInstance (Datestyle Intestyle, Int Timestyle) getDatETimeInstance (INT DATESTESTION, INT TIMESTYLE, LOCALE LOCALE) NumberFormat GetNumberFormat () Timegone getTimeZone () int hashcode () boolean islenient () date parse (string string) date parse (string string, posição de parseposição) objeto (strings string) sepponsition Pussition) (string string Position) valor) void setNumberFormat (formato numberFormat) void setTimeZone (fuso horário do tempo)
Nota: DateFormat é uma classe abstrata.
Quando obtemos a instância do DateFormat através do getInstance (), getDateInstance () e getDateTimeInstance () do DateFormat; Na verdade, é o objeto Returned SimpleDateFormat.
As seguintes funções são na verdade os objetos SimpleDateFormat retornados.
final static DateFormat getInstance()final static DateFormat getTimeInstance()final static DateFormat getTimeInstance(int style)final static DateFormat getTimeInstance(int style, Locale locale)final static DateFormat getDateInstance()final static DateFormat getDateInstance(int style, Locale locale)final static DateFormat getDateTimeInstance()final static DateFormat getDatETimeInstance (int datestyle, int timestyle) dateFormat Static FETDATETIMEINSTANCE (INT DATESTESTYLE, INT Timestyle, Locale Locale)
Essas funções são definidas no SimpleDateFormat.java da seguinte forma:
public static final int completo = 0; public static final int long = 1; public static final int médio = 2; public static final int curto = 3; public static final int default = médio; public final estático dateFormat getInstance () {return getDatETETimeInstance (curto, curto);} public final date), getDeTeNSTANCE (retorno (curta); final estático dateFormat getTimeInstance (int style) {return get (style, 0, 1, loce.getDefault ());} public final estático dateFormat getTimeInstance (int style, alocale local) {return get (style, 0, 1, alocale);} public static dateFormat 2, 0, 0, 0, 1, alocale);} public static datefformat getInStance () {1, 1, 1, alocal); Loce.getDefault ());} public final estático dateFormat GetDateInstance (int style) {return get (0, style, 2, loce.getDefault ());} public final static dateFormat GetDateInstance (Int Style, Locale Almocale) {Return get (0, estilo, 2, alocale get (padrão, padrão, 3, Locale.getDefault ());} public final estático dateFormat GetDateTimeInstance (int dateestyle, int timestyle) {return get (timestyle, dataStySetyle, 3, foceTeyle.getDefault ();} public final dateImle aloceNSTANCE (INTOTHENE (INTOTHENE (); DataStyle, 3, alocale);}/*** Obtenha a instância do DateFormat, que está realmente retornando o objeto SimpleDateFormat. * * Timestyle - o valor pode ser "completo" ou "longo" ou "médio" ou "curto" * dataStyle - o valor pode ser "completo" ou "longo" ou "médio" ou "short" * sinalizadores - o valor pode ser "1" ou "2" ou "3". * 1 significa obter "estilo de tempo" * 2 significa obter "estilo de data" * 3 significa obter "estilo de hora e data" * loce - objeto de localidade, representando "área" */private static dateFormat Get (int tese, intestyle int, time de timestyle, Locale Loc) {if (sinalizador & 1)! + Timestyle); }} else {Timestyle = -1; } if ((sinalizadores & 2)! = 0) {if (DATESTYLELE <0 || DATESTYLE> 3) {TOME NOVA ILEGALARGUMENTEXCECTION ("Estilo de data ilegal" + DATESTYLE); }} else {dataStyle = -1; } tente {// Verifique se um provedor pode fornecer uma implementação mais próxima // para a localidade solicitada do que o que o próprio tempo de execução do Java pode fornecer. LocalServiceProviderPool Pool = localServiceProviderPool.getpool (DateFormatProvider.class); if (pool.hasproviders ()) {dateFormat ProversInsInsinStance = Pool.getLocalizedObject (DateFormatgetTer.Instance, Loc, Timestyle, DataStyle, sinalizadores); if (providersInsInsinStance! = null) {retornar provedoresInsinStance; }} Retornar novo SimpleDateFormat (Timestyle, DataStyle, LOC); } Catch (MissingResourceException e) {Return New SimpleDateFormat ("m/d/yy h: mm a"); }}Através do código acima, podemos perceber ainda que a função do DateFormat é para o formato da data; Ajude -nos a converter a data na string de que precisamos. O DateFormat fornece funções muito limitadas, ele pode suportar apenas quatro formatos: completo, longo, médio e curto. Além disso, quando obtemos a instância do DateFormat, na verdade é o objeto Returned SimpleDateFormat.
2. Instância do DateFormat
Abaixo, aprendemos as APIs comumente usadas usando o DateFormat através de exemplos.
O código -fonte é o seguinte (DateFormattest.java):
importar java.util.date; importar java.util.locale; importar java.text.dateFormat; importar java.text.fieldPosition;/** ** ** Programa de teste de api para dataFormat*/public class DateFormatTest {public static void main (string [] args) {// mostram apenas "time": // Mostrar apenas "Data": ligue para getDateInstance () function testGetDateInstance (); // Mostrar "Date" + "Time": ligue para getDateTimeInstance () function testGetDateTimeInstance (); // Test Format () function TestFormat (); } / ** * Teste a função getTimeInstance () do dateFormat * Possui 3 formulários sobrecarregados: * (01) getTimeInstance () * (02) getTimeInstance (int style) * (03) getTimeInstance (int Style, loce loce) * * @author Skywang * / private STATTETTHTENDE (Int Style, Locale Locale) * @Author Skywang * / private STATTETTHTIAN // Locale Locale = New Locale ("FR", "FR"); Locale Locale = New Locale ("ZH", "CN"); // equivalente ao dateFormat.getTimeInstance (dateFormat.medium); DateFormat Short0 = DateFormat.GetTimeInstance (); // Os parâmetros são: "Style of Time 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); // Os parâmetros são: "DateFormat Exibir Style" e "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 vazio:" + short0.format (date) + "/n" + "(2.1) um param (s):" + short1.format (data) + "/n" + "(2.2) um param (m):" Medium1.format (data) + "/n" + ") (2.2) (m):" "Médio1.format (date) +"/n " +"). long1.format (data) + "/n" + "(2.4) um param (f):" + full1.format (date) + "/n" + "(3.1) um param (s, l):" + short2.Format (date) + "/n" + "(3.2) um param (m, l):" + médio2.Format (date) + "/" "/" (3.2) um param (m, l): " + médio2.Format (date) +"/""/""/3 "(3,2) (M. L): L):") (date) + "/n"/"(3.2) um param (l):" 1 médio.Format (DAT) + "/" "/" "/3.2) (M. long2.Format (DATE) + "/n" + "(3.4) um param (f, l):" + Full2.Format (data) + "/n"); } / ** * Teste o getDateTimeInstance () Função do DateFormat * Possui 3 formulários sobrecarregados: * (01) getDateInstance () * (02) getDateInstance (int style) * (03) getDateInstance (Int Style, Locale) * / Public Static Void) Locale Locale = New Locale ("ZH", "CN"); // equivalente ao dateFormat.getDateTimeInstance (DateFormat.medium); DateFormat Short0 = DateFormat.GetDateTimeInstance (); DateFormat Short1 = DateFormat.GetDatETimeInstance (DateFormat.short, DateFormat.short); DateFormat Medium1 = 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 vazio:" + short0.format (date) + "/n" + "(2.1) um param (s):" + curto1.format (data) + "/n" + "(2,2) um param (m):" " " + long1.format (data) +"/n " +" (2.4) um param (f): " + full1.format (date) +"/n " +" (3.1) um param (s, l): " + short2.Format (date) +"/n " +" (3.2) um param (l): "" + médio2.Format () + "/n" + "(3.2) um param (m, l):" + médio2.) long2.Format (DATE) + "/n" + "(3.4) um param (f, l):" + Full2.Format (data) + "/n"); } /** * Test the getDateInstance() function of DateFormat* It has 3 overloaded forms: * (01) getDateTimeInstance() * (02) getDateTimeInstance(int dateStyle, int timeStyle) * (03) getDateTimeInstance(int dateStyle, int timeStyle, Locale locale) */ public static void testGetDateInstance() { Date date = new Date (); // Locale Locale = New Locale ("EN", "Us"); Locale Locale = New Locale ("ZH", "CN"); // equivalente ao 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 Medium2 = 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 vazio:" + short0.format (date) + "/n" + "(2.1) um param (s):" + short1.format (date) + "/n" + "(2.2) um param (m):" "Medium1. +". long1.format (data) + "/n" + "(2.4) um param (f):" + full1.format (date) + "/n" + "(3.1) um param (s, l):" + short2.Format (date) + "/n" + "(3.2) um param (m, l):" + médio2.Format (date) + "/" "/" (3.2) um param (m, l): " + médio2.Format (date) +"/""/""/3 "(3,2) (M. L): L):") (date) + "/n"/"(3.2) um param (l):" 1 médio.Format (DAT) + "/" "/" "/3.2) (M. long2.Format (DATE) + "/n" + "(3.4) um param (f, l):" + Full2.Format (data) + "/n"); } / *** TEST dateFormat format () função* / public static void testFormat () {date date = new Date (); StringBuffer sb = new StringBuffer (); Campo de fieldposition = nova fieldposition (dateFormat.year_field); DateFormat format = dateFormat.getDateTimeInstance (); sb = format.format (data, sb, campo); System.out.println ("/ntestformat"); System.out.printf ("sb =%s/n", sb); }} Resultados em execução:
--- getTimeInstance --- (1.0) Param vazios: 16:54:22 (2.1) Um param (s): 16:54 (2.2) Um param (m): 16:54:22 (2.3) um param (l): 16:54:22 (2.4) Um parâmetro (s): 4:4222222222222222222222222222222201S) CST (3.1) Um param (S, L): 4:54 (3.2) Um param (M, L): 16:54:22 (3.3) Um param (l, l): 16:54:22 (3.4) Um param (F, L): 16:54:22 CST ---- GetdateInstance (1.0) 23/01/14 (2.2) Um param (M): 23 de janeiro de 2014 (2.3) Um param (l): 23 de janeiro de 2014 (2.4) Um param (f): quinta-feira, 23 de janeiro de 2014 (3.1) um param (s, l): 14-1-23 (3.2) um param: L: L): 2014-1-23 (3) (3) (L): L): L): L): L): L): L), L): L): L): L): L): L): L): L): L): L): L): L): L): L) (L) (L) (L) (L) (L) (L) (L) (L) (L) (L): L): L, L, L, L, L, L: L: L: L): 2014-1-23 (3.3): 23 de janeiro de 2014 --- GetDateTimeInstance ---- (1.0) Param vazios: 23 de janeiro de 2014 16:54:23 (2.1) Um param (s): 23/1/23/14 16:54 (2.2) um param (M): 23 de janeiro de 2014, 4:54:23 (2.3) One Param (L): 23 de janeiro de 23 de janeiro, 23 de janeiro de 2014, 4:4: 23 de janeiro de 23 de janeiro. Quinta-feira, 23 de janeiro de 2014 16:54:23 CST (3.1) Um param (S, L): 14-1-23 16:54:23 CST (3.1) Um param (s, l): 2014-1-23 16:54:23 (3,3) um param (l): 04:54:23 (3.4) One (F. CST (3.1) ONE Param (S, L): Quinta
OK. Até agora, o aprendizado de DateFormat terminou. Em seguida, começamos a aprender o SimpleDateFormat, que é o que você precisa entender na data de formatação.
SimpledateFormat
1. Introdução ao SimpleDateFormat
SimpleDateFormat é uma ferramenta para a data de formatação e as seqüências de dados da data de análise. Sua mais usada é formatar a data no formato especificado e, em seguida, usamos as strings que podemos formatar a data.
Mais estritamente falando, o SimpleDateFormat é uma classe específica que formata e passa as datas de uma maneira relacionada ao local. Permite formatação (data-> text), análise (texto-> data) e normalização.
Construtor SimpledateFormat:
Construtor
SimpleDateFormat () SimpleDateFormat (padrão de string) SimpleDateFormat (modelo da string, DateFormatsymbols Value) SimpleDateFormat (modelo da String, Locale Locale)
Não consultor
void applyLocalizedPattern(String template)void applyPattern(String template)Object clone()boolean equals(Object object)StringBuffer format(Date date, StringBuffer buffer, FieldPosition fieldPosition)AttributedCharacterIterator formatToCharacterIterator(Object object)Date get2DigitYearStart()DateFormatSymbols getDateFormatSymbols()int hashcode () date parse (string string, posição parsePosition) void set2digityEarstart (data) void setDateFormatsymbols (value dateformatsymbols) string tolocalizedpattern () string topenTtern ()
SimpledateFormat Demonstração simples:
// Crie um novo objeto de data, o horário é 2013-09-19-19DATE DATA = NOVA DATA (113,8,19); // Crie um novo "objeto SimpleDateFormat" e defina o "Modo de formato" do SDF SimpledEfformat sdf = new SimpleDateFormat ("AAAA-MM-DD"); // Data de formato com SDF e retorne a sequência. String str = sdf.format (data); 2. Descrição do formato relacionado ao SimpleDateFormat
2.1 Modo de data e hora
O formato de data e hora é especificado pela string de data e hora do padrão. Nas seqüências de dados de data e hora, as letras não citadas 'a' a 'z' e 'a' a 'z' são interpretadas como letras de padrão para representar elementos de string de data ou hora. O texto pode ser fechado em citações únicas (') para evitar a explicação. "''" significa citações únicas. Todos os outros personagens não são interpretados; Eles são simplesmente copiados para a sequência de saída quando formatados ou combinados com a sequência de entrada quando analisados.
As seguintes letras padrão são definidas (todos os outros personagens 'a' a 'z' e 'a' to 'z' são preservados):
| carta | Elemento de data ou hora | expressar | Exemplo |
| G | Logotipo da era | Texto | ANÚNCIO |
| y | Ano | Ano | 1996; 96 |
| M | Mês do meio do ano | Mês | Julho; Julho; 07 |
| c | Semanas no ano | Número | 27 |
| C | Semanas no mês | Número | 2 |
| D | Dias no ano | Número | 189 |
| d | Dias no mês | Número | 10 |
| F | Semana do mês | Número | 2 |
| E | Dias da semana | Texto | Terça-feira; ter |
| um | Tag am/pm | Texto | PM |
| H | Horas em um dia (0-23) | Número | 0 |
| k | Horas em um dia (1-24) | Número | vinte e quatro |
| K | Número de horas em AM/PM (0-11) | Número | 0 |
| h | Número de horas em AM/PM (1-12) | Número | 12 |
| m | Minutos em horas | Número | 30 |
| s | Número de segundos em minutos | Número | 55 |
| S | Número de milissegundos | Número | 978 |
| z | Fuso horário | Fuso horário geral | Tempo padrão do Pacífico; PST; GMT-08: 00 |
| Z | Fuso horário | RFC 822 fuso horário | -0800 |
| Modo de data e hora | resultado |
| "Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 2001.07.04 AD às 12:08:56 PDT |
| "Eee, mmm d, '' yy" | Qua, 4 de julho de 2001 |
| "H: mm a" | 12:08 |
| "Hh 'O''Clock' A, Zzzz" | 12 horas PM, horário do dia do Pacífico |
| "K: mm a, z" | 0:08, PDT |
| "Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 02001.JOLY.04 AD 12:08 |
| "Eee, D mmmaaaaaaaaa: mm: ss z" | Qua, 4 de julho de 2001 12:08:56 -0700 |
| "Yymmddhhmmssz" | 010704120856-0700 |
| "Aaaaaa-mm-dd't'hh: mm: ssssz" | 2001-07-04T12: 08: 56.235-0700 |
importar java.util.date; importar java.util.locale; importar java.util.calendar; importar java.text.dateFormat; importar java.text.simpledateFormat;/** ** ** ** * estático void main (string [] args) {// obtenha data/hora através do SimpleDateFormat: existem vários formatos para testsImpledExformats (); // obtenha data/hora com dateFormat supertest (); } /*** Obtenha a data /hora com o SimpleDateFormat. Existem muitos formatos para escolher */ private estático void testsimpledEformats () {String [] formats = new String [] {"hh: mm", // 14:22 "h: mm a", // 2:22 "HH: Mm Z", // 14:22 +0800 "HH" MM ZZZ: // 14:22 "yyyy-MM-dd", // 2013-09-19 "yyyy-MM-dd HH:mm", // 2013-09-19 14:22 "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 "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 'at' HH:mm:ss z", // 2013.09.19 AD at 14:22:30 CST "K:mm a", // 2:22 pm, CST "EEE, MMM d, ''yyy", // Thursday, September 19, '13 "hh 'o''clock' A, zzzz ", // 02 horas pm, cst" yyyyyy. 130919142230+0800 "aaaaaaaaaaaaaaaaaaaaaaaaaaa3a Cst}; // data de data = (nova data (0)); // A data é 1970-01-01 07:00:00 // Data Data = calendar.getInstance (). getTime (); // data é a data atual da data = nova data (113, 8, 19, 14, 22, 30); // A data é 2013-09-19 14:22:30 para (formato de string: formatos) {SimpleDateFormat sdf = new SimpleDateFormat (formato, loce.simplied_chinese); // simledateFormat sdf = new SimpleDateFormat (formato); System.out.format (" %30s %s/n", formato, sdf.format (data)); }}/*** Obtenha data/hora por meio de dataFormat*/private static void supertest () {// Crie um novo objeto de data, a hora é 2013-09-19 14:22:30 // (01) ano = "'Ano-alvo'-1900", // (02) mês. 0 é de janeiro, 1 de fevereiro e assim por diante. // (03) dia. Número entre 1-31 data mdate = nova data (113, 8, 19, 14, 22, 30); Locale Locale = New Locale ("ZH", "CN"); // 14:22:30 String time = dateFormat.GetTimeInstance (DateFormat.Medium, Locale.simplied_chinese) .Format (mdate); // 2013-09-19 String date = dateFormat.getDateInstance (DateFormat.Medium, Locale.simplied_chinese) .Format (mdate); // 2013-09-19 14:22:30 String DateTime = DateFormat.GetDateTimeInstance (DateFormat.medium, DateFormat.medium, Locale.simplied_chinese) .Format (mdate); System.out.printf ("/ntime =%s/ndate =%s/ndateTime =%s/ndateTime =%s/n", tempo, data, dateTime); }} Resultados em execução:
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 2013-09-19 14:22:30 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 14:22:30 yyyy-MM-dd HH:mm:ss zzzz 2013-09-19 14:22:30 AA AA AA AA AAÇÃO-MM-DD HH: MM: SS ZZZZ 2013-09-19 14:22:30 Yeeeeeaaaaaaaaaaaaaaaa e yyyy-mm-dd't'hh: mm: sssssz 2013-09-19t14: 22: 30.000+0800 AA YYYYY.MM.DD G 'em' HH: MM: SS Z 2013.09.19 AD em 14:2:30 CST K: MM AH 2:22 Pm eee, Mmm Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm, Mmm Mmm, Mmm, Mmm, Mmm, Mmm, Mmm. 'O''Clock' A, ZZZZ 02 O'CLOCK PM, AAA AAA AA AA AAA 19. yyyy-mm-dd't'hh: mm: sssssz 2013-09-19t14: 22: 30.000+0800eeee 'data (' yyyy-mm-dd ')' 'time (' hh: mm: ss ')' zzzz quinta-feira (2013-09-19) tempo (14:22:30) Tempo = 14: 22: 30Date = 2013-9-19DateTime = 2013-9-19 14:22:30