Goで現在のタイムスタンプを取得して文字列に変換する最良の方法は何ですか?たとえば、日付と時刻の両方が必要です。 YYYYMMDDhhmmss形式。
time.Now()
関数と time.Format()
メソッドを使用します。
t := time.Now()
fmt.Println(t.Format("20060102150405"))
20110504111515
を印刷するか、少なくとも数分前に印刷しました。 (私は東部夏時間です。)時間パッケージで定義されている constants には、いくつかの事前定義された時刻形式があります。
ローカルタイムゾーンではなくUTCを使用する場合は、 time.Now().UTC()
を使用できます。
他のすべての応答は、グーグルから来て「タイムスタンプ・イン・ゴー」を探している人にとって非常にミスリーディングです! YYYYMMDDhhmmssは「タイムスタンプ」ではありません。
移動中の日付のタイムスタンプ(1970年1月からの秒数)を取得するには、正しい関数は 。Unix() であり、実際に整数を返します。
読みやすくするために、timeパッケージでRFC定数を使用するのが最適です(私は思う)
import "fmt"
import "time"
func main() {
fmt.Println(time.Now().Format(time.RFC850))
}
time.Now() および time.Format() 関数を使用します(Go 1.0.3ではtime.LocalTime()はもう存在しないため)
t := time.Now()
fmt.Println(t.Format("20060102150405"))
オンラインデモ (プレイグラウンドで過去の日付に修正された、気にしない)
@Bactismeの応答のエコーとして、現在のタイムスタンプ(ミリ秒単位など)を取得する方法は次のとおりです。
msec := time.Now().UnixNano() / 1000000