dsadsadsa1231 2019-06-12 14:44
浏览 391

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

I'm trying to format a time.Time type to a particular time of yesterday (particularly 23:59:59)

I have one function which converts current time to IST

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

another function which converts to the day before

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

I want to format the above to a time stamp of date 2009-06-12 23:59:59 for which I do

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

but I get this 2019-06-11 118:589:589

what am I doing wrong?

  • 写回答

1条回答 默认 最新

  • dsfjk44656 2019-06-12 15:10
    关注

    Your time format is wrong. The reference time in Go is 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"))
    }
    

    This prints:

    2019-06-11 20:37:04

    评论

报告相同问题?

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)