Converter carimbo de data / hora como string [duplicado]
Quero obter um carimbo de data / hora como string. Se eu usar a string
conversão, não recebo nenhum erro, mas a saída não é legível. Mais tarde, quero que façamos parte de um nome de arquivo. Parece um ponto de interrogação, por exemplo, Encontrei alguns exemplos como este:https://play.golang.org/p/bq2h3h0YKpnão resolve completamente o meu problema. obrigado
now := time.Now() // current local time
sec := now.Unix() // number of seconds since January 1, 1970 UTC
fmt.Println(string(sec))
Como posso obter o carimbo de data / hora como string?
Respostas
Algo assim funciona para mim
package main
import (
"fmt"
"strconv"
"time"
)
func main() {
now := time.Now()
unix := now.Unix()
fmt.Println(strconv.FormatInt(unix, 10))
}
Aqui estão dois exemplos de como você pode converter um carimbo de data / hora Unix em uma string.
O primeiro exemplo ( s1
) usa o strconv
pacote e sua função FormatInt
. O segundo exemplo ( s2
) usa o fmt
pacote ( documentação ) e sua função Sprintf
.
Pessoalmente, gosto Sprintf
mais da opção do ponto de vista estético. Ainda não verifiquei o desempenho.
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)
}
Golang Playground: https://play.golang.org/p/jk_xHYK_5Vu