Risposte:
Utilizzare la time.Now()
funzione e il time.Format()
metodo.
t := time.Now()
fmt.Println(t.Format("20060102150405"))
stampa 20110504111515
, o almeno lo ha fatto pochi minuti fa. (Sono nell'ora legale orientale.) Ci sono diversi formati di ora predefiniti nelle costanti definite nel pacchetto orario.
Puoi utilizzare time.Now().UTC()
se preferisci avere UTC piuttosto che il tuo fuso orario locale.
Kitchen
costante ( = "3:04PM"
)
Tutte le altre risposte sono molto importanti per qualcuno che viene da Google e cerca "timestamp in go"! AAAAMMGGhhmmss non è un "timestamp".
Per ottenere il "timestamp" di una data in atto (numero di secondi da gennaio 1970), la funzione corretta è .Unix () e restituisce davvero un numero intero
Get current time as formatted string in Go?
. Spero che qualcuno lo approvi.
Per leggibilità, è meglio usare le costanti RFC nel pacchetto temporale (penso)
import "fmt"
import "time"
func main() {
fmt.Println(time.Now().Format(time.RFC850))
}
Tuesday, 10-Nov-09 23:00:00 UTC
RFC3339 = "2006-01-02T15:04:05Z07:00"
play.golang.org/p/XmobwWSz5pN golang.org/pkg/time
Utilizzare le funzioni time.Now () e time.Format () (poiché time.LocalTime () non esiste più a partire da Go 1.0.3)
t := time.Now()
fmt.Println(t.Format("20060102150405"))
Demo online (con data fissata in passato nel parco giochi, non importa)
s := "Actual time is: "+time.Now().String()
Trova maggiori informazioni in questo post: Ottieni la data e l'ora correnti in vari formati in Golang
Questo è un assaggio dei diversi formati che troverai nel post precedente:
Come eco alla risposta di @ Bactisme, il modo in cui uno dovrebbe fare per recuperare il timestamp corrente (in millisecondi, per esempio) è:
msec := time.Now().UnixNano() / 1000000
Risorsa: https://gobyexample.com/epoch
https://golang.org/src/time/format.go specificato Per il tempo di analisi 15
viene utilizzato per Ore, 04
viene utilizzato per minuti, 05
per secondi.
Per l'analisi di Data 11
, Jan
, January
è da mesi, 02
, Mon
, Monday
per il giorno del mese, 2006
per l'anno e, naturalmente, MST
per la zona
Ma puoi usare anche questo layout, che trovo molto semplice. "Mon Jan 2 15:04:05 MST 2006"
const layout = "Mon Jan 2 15:04:05 MST 2006"
userTimeString := "Fri Dec 6 13:05:05 CET 2019"
t, _ := time.Parse(layout, userTimeString)
fmt.Println("Server: ", t.Format(time.RFC850))
//Server: Friday, 06-Dec-19 13:05:05 CET
mumbai, _ := time.LoadLocation("Asia/Kolkata")
mumbaiTime := t.In(mumbai)
fmt.Println("Mumbai: ", mumbaiTime.Format(time.RFC850))
//Mumbai: Friday, 06-Dec-19 18:35:05 IST