Converti timestamp come stringa [duplicato]
Voglio ottenere un timestamp come stringa. Se uso la stringconversione non ho ricevuto alcun errore ma l'output non è leggibile. Successivamente, lo voglio come parte di un nome di file. Sembra un punto interrogativo per es. Ho trovato alcuni esempi come questo:https://play.golang.org/p/bq2h3h0YKpnon mi risolve completamente il problema. Grazie
now := time.Now() // current local time
sec := now.Unix() // number of seconds since January 1, 1970 UTC
fmt.Println(string(sec))
Come posso ottenere il timestamp come stringa?
Risposte
Qualcosa di simile funziona per me
package main
import (
"fmt"
"strconv"
"time"
)
func main() {
now := time.Now()
unix := now.Unix()
fmt.Println(strconv.FormatInt(unix, 10))
}
Di seguito sono riportati due esempi di come convertire un timestamp unix in una stringa.
Il primo esempio ( s1) utilizza il strconvpacchetto e la sua funzione FormatInt. Il secondo esempio ( s2) utilizza il fmtpacchetto ( documentazione ) e la sua funzione Sprintf.
Personalmente, l' Sprintfopzione mi piace di più dal punto di vista estetico. Non ho ancora controllato le prestazioni.
package main
import "fmt"
import "time"
import "strconv"
func main() {
t := time.Now().Unix() // t is of type int64
// use strconv and FormatInt with base 10 to convert the int64 to string
s1 := strconv.FormatInt(t, 10)
fmt.Println(s1)
// Use Sprintf to create a string with format:
s2 := fmt.Sprintf("%d", t)
fmt.Println(s2)
}
Parco giochi Golang: https://play.golang.org/p/jk_xHYK_5Vu