Päivämäärän jäsennys merkkijonosta

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ä.