Ответы:
Используйте time.Now()
функцию и time.Format()
метод.
t := time.Now()
fmt.Println(t.Format("20060102150405"))
распечатывает 20110504111515
, или, по крайней мере, это было несколько минут назад. (Я использую восточное летнее время.) В константах, определенных в пакете времени, есть несколько предопределенных форматов времени.
Вы можете использовать, time.Now().UTC()
если предпочитаете UTC, а не местный часовой пояс.
Kitchen
константа ( = "3:04PM"
)
Все остальные ответы очень неуместны для тех, кто пришел из Google и ищет «временную метку на ходу»! ГГГГММДДччммсс не является «отметкой времени».
Чтобы получить "отметку времени" даты на ходу (количество секунд с января 1970 г.), правильной функцией является .Unix () , и она действительно возвращает целое число.
Get current time as formatted string in Go?
. Надеюсь, кто-нибудь это одобрит.
Для удобства чтения лучше всего использовать константы RFC во временном пакете (мне кажется)
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
Используйте функции time.Now () и time.Format () (поскольку time.LocalTime () больше не существует с Go 1.0.3)
t := time.Now()
fmt.Println(t.Format("20060102150405"))
Онлайн-демо (с датой, установленной в прошлом на игровой площадке, неважно)
s := "Actual time is: "+time.Now().String()
Дополнительная информация в этом посте: Получить текущую дату и время в различных форматах в golang
Это вкус различных форматов, которые вы найдете в предыдущем посте:
Как отголосок ответа @Bactisme, способ получения текущей метки времени (например, в миллисекундах):
msec := time.Now().UnixNano() / 1000000
Ресурс: https://gobyexample.com/epoch
https://golang.org/src/time/format.go указано Для синтаксического анализа время 15
используется для часов, 04
используется для минут, 05
для секунд.
Для разбора даты 11
, Jan
, January
это в течение нескольких месяцев, 02
, Mon
, Monday
за день месяца, 2006
за год и, конечно , MST
для зоны
Но вы также можете использовать этот макет, который я считаю очень простым. "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