Usando este curto guia, você entenderá como formatar o tempo em Golang usando vários formatos e padrões.
O básico
Usamos o método format () e passamos um objeto de tempo como parâmetro para formatar o tempo. A sintaxe da função é como mostrado:
Formato FUNC (T TIME) (string de layout) String
A função retornará o valor do tempo formatado para o layout especificado. Você pode definir formatos personalizados ou usar os predefinidos. Esses incluem:
Os layouts usam o tempo de referência em 2 de janeiro de 15:04:05 MST 2006 para indicar o padrão sob o qual formatar o objeto de tempo.
Exemplo 1 - layouts personalizados
Vejamos alguns exemplos de tempo de formatação usando vários layouts personalizados.
functão yyyy_mm_dd ()
current_time: = tempo.Agora()
fmt.Println (current_time.Formato ("2006-01-02")))
No exemplo acima, pegamos o tempo atual usando o tempo.Agora () método. Em seguida, formatamos o horário atual para AAAA-MM-DD usando a data de referência.
Agora podemos executar o código acima, como mostrado:
$ go run time_format.ir
2022-01-17
Se quisermos incluir a data e a hora no sistema de 24 horas, podemos definir o formato como mostrado no snippet abaixo:
current_time: = tempo.Agora()
fmt.Println (current_time.Formato ("2006-01-02 15:04:05"))
O código acima deve retornar a saída como:
2022-01-17 14:46:46
Para exibir o tempo no relógio de 12 horas, podemos fazer:
current_time: = tempo.Agora()
fmt.Println (current_time.Formato ("2006-01-02 3: 4: 17:00")))
O código retorna a saída como:
2022-01-17 14:47:37
Exemplo 2 - layouts predefinidos
Você também pode formatar de acordo com um layout predefinido, passando o layout como uma string para o método format ().
Considere os seguintes exemplos:
func format_pre_defined ()
current_time: = tempo.Agora()
fmt.Println ("Ansic ->", current_time.Formato (tempo.Ansic))
fmt.Println ("unixdate ->", current_time.Formato (tempo.Unixdate))
fmt.Println ("cozinha ->", current_time.Formato (tempo.Cozinha))
fmt.Println ("rfc3339 ->", current_time.Formato (tempo.RFC3339))
fmt.Println ("rubydate ->", current_time.Formato (tempo.Rubydate))
fmt.Println ("rfc822 ->", current_time.Formato (tempo.Rfc822))
fmt.Println ("rfc1123z ->", current_time.Formato (tempo.RFC1123Z))
Depois de executar o código acima, ele deve retornar a hora atual formatada em vários formatos predefinidos. Um exemplo de saída é como mostrado:
ANSIC -> Seg 17 de janeiro 14:56:03 2022
Unixdate -> Seg 17 de janeiro 14:56:03 Eat 2022
Cozinha -> 14:56
RFC3339-> 2022-01-17T14: 56: 03+03: 00
Rubydate -> Seg 17 de janeiro 14:56:03 +0300 2022
RFC822 -> 17 de janeiro 22 14:56 Eat
RFC1123Z -> Seg, 17 de janeiro de 2022 14:56:03 +0300
Fechamento
Este guia abrange o básico da formatação do tempo na linguagem de programação Go usando o método format () do pacote de tempo.