Oto przykładowy plac zabaw pokazujący, jak działa formatowanie daty. Jest to zarówno konwersja ciągu znaków na czas, jak i wydrukowanie czasu w określonym formacie. play.golang.org/p/qK6_9KNJNx
Nitesh
Odpowiedzi:
242
Posługiwać się
fmt.Println(t.Format("20060102150405"))
ponieważ Go używa następujących stałych do formatowania daty, patrz tutaj
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)
pod względem fizycznym format golang jest bardzo dziwny. dlaczego nie użyć stylu yyyymmddHHiiss, ale użyć „2006/01/02/15/04/05”, nie rozumiem prawdziwego powodu
Kewin
11
Ciąg układu jest reprezentacją znacznika czasu, 2 stycznia 2006 r. 15:04:05 czasu MST. Łatwym sposobem na zapamiętanie tej wartości jest to, że przechowuje, gdy jest przedstawiona w tej kolejności, wartości (wyrównane z powyższymi elementami): 1 2 3 4 5 6 -7 From golang.org/src/time/example_test.go
kakilangit
28
Technika mnemoniczna dla osób spoza USA: wyobraź sobie, co robiłeś 2 stycznia 2006 r., Zaledwie pięć sekund po 15:04, ale wyobraź sobie, że dzieje się to w Burkina Faso (UTC -7). Następnym razem, gdy będziesz musiał sformatować datę, pamiętaj tylko o tym konkretnym wydarzeniu (!)
Enrico
3
Nie znałem kolejnych mnemoników, poręczny, ale daj
spokój,
4
Więc wszystko, co muszę pamiętać, to ustawić datę w kolejności miesiąc-dzień-rok, a następnie umieścić czas w środku i ustawić strefę czasową po roku, a staje się to bardzo łatwe do zapamiętania. Schludny. Czy ktoś ma mnemonik do zapamiętania kolejności tego mnemonika ..?
Joey Sabey
20
To pytanie pojawia się na pierwszym miejscu w wyszukiwarce Google, gdy znajdziesz „aktualny format czasu w golang”, więc w przypadku wszystkich osób, które chcą użyć innego formatu, pamiętaj, że zawsze możesz zadzwonić pod numer:
t := time.Now()
t.Year()
t.Month()
t.Day()
t.Hour()
t.Minute()
t.Second()
Na przykład, aby uzyskać bieżącą datę i godzinę jako „RRRR-MM-DDTHH: MM: SS” (na przykład 2019-01-22T12: 40: 55), możesz użyć tych metod z fmt.Sprintf:
Pakiet czasowy w Golang ma kilka metod, które mogą być warte uwagi.
func (czas) Format
func (t Time) Format (ciąg układu) string Format zwraca tekstową reprezentację wartości czasu sformatowanej zgodnie z układem, która definiuje format, pokazując, jak czas odniesienia,
Mon Jan 2 15:04:05 -0700 MST 2006 byłby wyświetlany, gdyby była to wartość; służy jako przykład pożądanego wyniku. Te same reguły wyświetlania zostaną następnie zastosowane do wartości czasu. Predefiniowane układy ANSIC, UnixDate, RFC3339 i inne opisują standardowe i wygodne reprezentacje czasu odniesienia. Aby uzyskać więcej informacji na temat formatów i definicji czasu odniesienia, zapoznaj się z dokumentacją ANSIC i innych stałych zdefiniowanych w tym pakiecie.
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)}
Odpowiedzi:
Posługiwać się
ponieważ Go używa następujących stałych do formatowania daty, patrz tutaj
źródło
To pytanie pojawia się na pierwszym miejscu w wyszukiwarce Google, gdy znajdziesz „aktualny format czasu w golang”, więc w przypadku wszystkich osób, które chcą użyć innego formatu, pamiętaj, że zawsze możesz zadzwonić pod numer:
Na przykład, aby uzyskać bieżącą datę i godzinę jako „RRRR-MM-DDTHH: MM: SS” (na przykład 2019-01-22T12: 40: 55), możesz użyć tych metod z fmt.Sprintf:
Jak zawsze pamiętaj, że najlepszym źródłem wiedzy są dokumenty: https://golang.org/pkg/time/
źródło
Pakiet czasowy w Golang ma kilka metod, które mogą być warte uwagi.
Źródło ( http://golang.org/pkg/time/#Time.Format )
Znalazłem też przykład definiowania układu ( http://golang.org/src/pkg/time/example_test.go )
źródło
daje:
źródło