Golang Time Format

Golang Time Format
GO permite que você formate e analise o tempo fora da caixa fornecido pelo pacote de tempo. Você pode especificar seu formato de destino usando layouts baseados em padrões usando o método format (). Ao contrário das opções típicas de formatação de data e hora, como AAAA-MM-DD, GO usa um parâmetro de layout específico.

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.