Golang时间格式化为特定时间戳

时间:2019-06-12 14:44:43

标签: go

我正在尝试将time.Time类型设置为昨天的特定时间(尤其是23:59:59)

我有一个函数可以将当前时间转换为IST

func getTimeInIST() time.Time {
    loc, _ := time.LoadLocation("Asia/Kolkata")
    now := time.Now().In(loc)
    return now
}

另一个转换为前一天的功能

func GetYesterdaysDateFromTime() time.Time{
    return getTimeInIST().AddDate(0, 0, -1)
}

我想将以上内容格式化为日期为2009-06-12 23:59:59的时间戳 我为此

yesterday := common.GetYesterdaysDateFromTime()
yesterday.Format("2006-01-02 23:59:59")

但是我得到了这个2019-06-11 118:589:589

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

您的时间格式不正确。 Go中的参考时间为Mon Jan 2 15:04:05 MST 2006

func getTimeInIST() time.Time {
    loc, _ := time.LoadLocation("Asia/Kolkata")
    now := time.Now().In(loc)
    return now
}
func GetYesterdaysDateFromTime() time.Time {
    return getTimeInIST().AddDate(0, 0, -1)
}

func main() {
    yesterday := GetYesterdaysDateFromTime()
    print(yesterday.Format("2006-01-02 15:04:05"))
}

此打印:

  

2019-06-11 20:37:04