Go:
Päivämäärän jäsennys merkkijonosta
Kuinka:
Go tarjoaa vankan tuen päivämäärien ja aikojen jäsentämiseen time
-pakettinsa kautta. Avain on ymmärtää Gon viitepäivämäärän muoto: Mon Jan 2 15:04:05 MST 2006
, jota käytät kertomaan Go:lle, miten tulkita saapuva merkkijono. Tässä on nopea esimerkki, jolla pääset alkuun:
package main
import (
"fmt"
"time"
)
func main() {
// Esimerkki päivämäärämerkkijono
dateStr := "2023-04-12 14:45:00"
// Määritä syötteen päivämäärämerkkijonon asettelu/muoto
// Tämä asettelu kertoo Go:lle odottaa vuotta, sitten kuukautta,
// sitten päivää, tuntia, minuuttia ja lopulta sekuntia
layout := "2006-01-02 15:04:05"
// Jäsennä päivämäärämerkkijono asettelun mukaisesti
parsedDate, err := time.Parse(layout, dateStr)
if err != nil {
fmt.Println("Virhe päivämäärää jäsentäessä:", err)
return
}
// Tulosta jäsentynyt päivämäärä
fmt.Println("Jäsennetty Päivämäärä:", parsedDate)
}
Kun suoritat tämän koodin, saat:
Jäsennetty Päivämäärä: 2023-04-12 14:45:00 +0000 UTC
Huomaa, kuinka layout
-merkkijono käyttää viitepäivämäärän arvoja määrittämään syötteen muodon. Säädä layout
vastaamaan syötteesi päivämäärien muotoa.
Syväsukellus
Go:n päivämäärän ja ajan jäsentämisen suunnittelu on ainutlaatuista, käyttäen tiettyä viitepäivämäärää (Mon Jan 2 15:04:05 MST 2006
). Tämä lähestymistapa, sen sijaan että käytettäisiin enemmän perinteisiä muodon määritteitä (kuten YYYY
vuodelle), valittiin luettavuuden ja helppokäyttöisyyden vuoksi, hyödyntäen enemmän esimerkkiin perustuvaa formaattia.
Vaikka tämä voi aluksi tuntua epätavalliselta ohjelmoijille, jotka ovat tottuneet muihin kieliin, monet löytävät sen intuitiivisemmaksi lyhyen sopeutumiskauden jälkeen. Sovelluksille, jotka vaativat monimutkaisempaa päivämäärän käsittelyä tai formaatteja, joita Go:n time
-paketti ei suoraan tue, kolmannen osapuolen kirjastot, kuten github.com/jinzhu/now
, voivat tarjota lisätoiminnallisuutta. Kuitenkin suurimmalle osalle standardisovelluksia, Go:n sisäänrakennetut kyvyt ovat vankkoja, suorituskykyisiä ja idiomaattisia, ilmentäen Gon filosofiaa yksinkertaisuudesta ja selkeydestä.