Korzystając z tego krótkiego przewodnika, zrozumiesz, jak sformatować czas w Golang za pomocą różnych formatów i wzorów.
Podstawy
Używamy metody format () i przekazujemy obiekt czasowy jako parametr do sformatowania czasu w Go. Składnia funkcji jest jak pokazana:
Format FUNC (T Time) (ciąg String)
Funkcja zwróci wartość czasu sformatowaną do określonego układu. Możesz zdefiniować niestandardowe formaty lub użyć wcześniej zdefiniowanych. Obejmują one:
Układy używają czasu odniesienia 2 stycznia 15:04:05 MST 2006, aby wskazać wzór, pod którym można sformatować obiekt czasowy.
Przykład 1 - Układy niestandardowe
Spójrzmy na kilka przykładów czasu formatowania przy użyciu różnych niestandardowych układów.
func yyy_mm_dd ()
current_time: = czas.Teraz()
fmt.Println (current_time.Format („2006-01-02”))
W powyższym przykładzie pobieramy bieżący czas za pomocą czasu.Teraz () metoda. Następnie sformatujemy bieżący czas do Yyyy-MM-DD przy użyciu daty odniesienia.
Możemy teraz wykonać powyższy kod, jak pokazano:
$ Go Run Time_format.Iść
2022-01-17
Jeśli chcemy uwzględnić datę i godzinę w systemie 24-godzinnym, możemy ustawić format, jak pokazano na fragmencie poniżej:
current_time: = czas.Teraz()
fmt.Println (current_time.Format („2006-01-02 15:04:05”)))
Powyższy kod powinien zwrócić dane wyjściowe jako:
2022-01-17 14:46:46
Aby wyświetlić czas w zegarku 12 godzin, możemy zrobić:
current_time: = czas.Teraz()
fmt.Println (current_time.Format („2006-01-02 3: 4: 5 pm”))
Kod zwraca dane wyjściowe jako:
2022-01-17 2:47:37 PM
Przykład 2 - wstępnie zdefiniowane układy
Możesz także sformatować zgodnie z wcześniej zdefiniowanym układem, przekazując układ jako ciąg do metody format ().
Rozważ następujące przykłady:
Func format_pre_defined ()
current_time: = czas.Teraz()
fmt.Println („ansic ->”, current_time.Format (czas.Ansic))
fmt.Println („Unixdate ->”, current_time.Format (czas.Unixdate))
fmt.Println („Kitchen ->”, Current_Time.Format (czas.Kuchnia))
fmt.Println („rfc3339 ->”, current_time.Format (czas.RFC3339))
fmt.Println („Rubidate ->”, current_time.Format (czas.Rubydate))
fmt.Println („rfc822 ->”, current_time.Format (czas.RFC822))
fmt.Println („rfc1123z ->”, current_time.Format (czas.RFC1123Z))
Po uruchomieniu powyższego kodu powinien zwrócić bieżący czas sformatowany do różnych predefiniowanych formatów. Przykładem jest to, jak pokazano:
Ansic -> pon. 17 stycznia 14:56:03 2022
UNIXDATE -> MON 17 stycznia 14:56:03 Eat 2022
Kuchnia -> 14:56
RFC3339-> 2022-01-17T14: 56: 03+03: 00
Rubydate -> pon. 17 stycznia 14:56:03 +0300 2022
RFC822 -> 17 stycznia 22 14:56 Eat
RFC1123Z -> pon, 17 stycznia 2022 14:56:03 +0300
Zamknięcie
Ten przewodnik obejmuje podstawy formatowania czasu w języku programowania Go za pomocą metody format () z pakietu czasowego.