Ubah stempel waktu sebagai string [duplikat]
Saya ingin mendapatkan stempel waktu sebagai string. Jika saya menggunakan string
konversi, saya tidak mendapat kesalahan tetapi hasilnya tidak dapat dibaca. Nanti, saya ingin kami memasukkannya sebagai bagian dari nama file. Sepertinya tanda tanya misalnya Saya menemukan beberapa contoh seperti ini:https://play.golang.org/p/bq2h3h0YKptidak sepenuhnya menyelesaikan masalah saya. Terima kasih
now := time.Now() // current local time
sec := now.Unix() // number of seconds since January 1, 1970 UTC
fmt.Println(string(sec))
Bagaimana saya bisa mendapatkan stempel waktu sebagai string?
Jawaban
Sesuatu seperti ini berhasil untuk saya
package main
import (
"fmt"
"strconv"
"time"
)
func main() {
now := time.Now()
unix := now.Unix()
fmt.Println(strconv.FormatInt(unix, 10))
}
Berikut adalah dua contoh bagaimana Anda dapat mengonversi stempel waktu unix menjadi string.
Contoh pertama ( s1
) menggunakan strconv
paket dan fungsinya FormatInt
. Contoh kedua ( s2
) menggunakan fmt
paket ( dokumentasi ) dan fungsinya Sprintf
.
Secara pribadi, saya lebih suka Sprintf
opsi dari sudut pandang estetika. Saya belum memeriksa performanya.
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)
}
Taman Bermain Golang: https://play.golang.org/p/jk_xHYK_5Vu