Aqui está um exemplo de playground de como funciona a formatação de data. Isso é converter string em hora e imprimir uma hora em um formato específico. play.golang.org/p/qK6_9KNJNx
Nitesh
Respostas:
242
Usar
fmt.Println(t.Format("20060102150405"))
como Go usa as seguintes constantes para formatar a data, consulte aqui
const(
stdLongMonth ="January"
stdMonth ="Jan"
stdNumMonth ="1"
stdZeroMonth ="01"
stdLongWeekDay ="Monday"
stdWeekDay ="Mon"
stdDay ="2"
stdUnderDay ="_2"
stdZeroDay ="02"
stdHour ="15"
stdHour12 ="3"
stdZeroHour12 ="03"
stdMinute ="4"
stdZeroMinute ="04"
stdSecond ="5"
stdZeroSecond ="05"
stdLongYear ="2006"
stdYear ="06"
stdPM ="PM"
stdpm ="pm"
stdTZ ="MST"
stdISO8601TZ ="Z0700"// prints Z for UTC
stdISO8601ColonTZ ="Z07:00"// prints Z for UTC
stdNumTZ ="-0700"// always numeric
stdNumShortTZ ="-07"// always numeric
stdNumColonTZ ="-07:00"// always numeric)
na verdade, o formato de golang é muito estranho. por que não usar o estilo aaaammddHHiiss, mas usar o "" 2006/01/02/15/04/05 ", não entendi o verdadeiro motivo
Kewin
11
A string de layout é uma representação do carimbo de data / hora, 2 de janeiro 15:04:05 2006 MST. Uma maneira fácil de lembrar esse valor é que ele contém, quando apresentado nesta ordem, os valores (alinhados com os elementos acima): 1 2 3 4 5 6 -7 De golang.org/src/time/example_test.go
kakilangit
28
Técnica mnemônica para quem está fora dos Estados Unidos: imagine o que você estava fazendo em 2 de janeiro de 2006, apenas cinco segundos depois das 15h04, mas imagine isso acontecendo em Burkina Faso (UTC -7). Da próxima vez que você precisar formatar uma data, lembre-se deste evento em particular (!)
Enrico
3
Não conhecia o mnemônico sequencial, prático, mas vamos lá porque não é 1 de fevereiro ...
silasdavis
4
Então, tudo que tenho que lembrar é alinhar a data na ordem mês-dia-ano, depois colocar a hora no meio dela e colocar o fuso horário depois do ano, e fica muito fácil de lembrar. Arrumado. Alguém tem um mnemônico para lembrar a ordem deste mnemônico ..?
Joey Sabey
20
Esta pergunta surge no topo da pesquisa do Google quando você encontra "formato de hora atual golang", então, para todas as pessoas que desejam usar outro formato, lembre-se de que você sempre pode ligar para:
t := time.Now()
t.Year()
t.Month()
t.Day()
t.Hour()
t.Minute()
t.Second()
Por exemplo, para obter a data e hora atual como "AAAA-MM-DDTHH: MM: SS" (por exemplo, 2019-01-22T12: 40: 55), você pode usar estes métodos com fmt.Sprintf:
O pacote de tempo em Golang tem alguns métodos que podem valer a pena examinar.
função (Time) Format
func (t Time) Format (string de layout) string Format retorna uma representação textual do valor de tempo formatado de acordo com o layout, que define o formato mostrando como o tempo de referência,
Mon Jan 2 15:04:05 -0700 MST 2006 seria exibido se fosse o valor; serve como exemplo da saída desejada. As mesmas regras de exibição serão aplicadas ao valor da hora. Layouts predefinidos ANSIC, UnixDate, RFC3339 e outros descrevem representações padrão e convenientes do tempo de referência. Para mais informações sobre os formatos e a definição da hora de referência, consulte a documentação do ANSIC e as demais constantes definidas neste pacote.
func ExampleTime_Format(){// layout shows by example how the reference time should be represented.const layout ="Jan 2, 2006 at 3:04pm (MST)"
t := time.Date(2009, time.November,10,15,0,0,0, time.Local)
fmt.Println(t.Format(layout))
fmt.Println(t.UTC().Format(layout))// Output:// Nov 10, 2009 at 3:00pm (PST)// Nov 10, 2009 at 11:00pm (UTC)}
Respostas:
Usar
como Go usa as seguintes constantes para formatar a data, consulte aqui
fonte
Esta pergunta surge no topo da pesquisa do Google quando você encontra "formato de hora atual golang", então, para todas as pessoas que desejam usar outro formato, lembre-se de que você sempre pode ligar para:
Por exemplo, para obter a data e hora atual como "AAAA-MM-DDTHH: MM: SS" (por exemplo, 2019-01-22T12: 40: 55), você pode usar estes métodos com fmt.Sprintf:
Como sempre, lembre-se de que os documentos são a melhor fonte de aprendizagem: https://golang.org/pkg/time/
fonte
O pacote de tempo em Golang tem alguns métodos que podem valer a pena examinar.
Fonte ( http://golang.org/pkg/time/#Time.Format )
Também encontrei um exemplo de definição de layout ( http://golang.org/src/pkg/time/example_test.go )
fonte
dá:
fonte