1. 程式人生 > >golang 日期時間處理

golang 日期時間處理

spa clas www. net pack bsp pac nbsp .net

package main

import (
    "fmt"
    "time"
)

func main() {
    fmt.Println(time.Now())                                              //顯示時間:2019-03-15 17:49:29.0648086 +0800 CST m=+0.005000301
    fmt.Println(time.Now().Format("2006---01-02 15:04:05"))              //顯示時間:2019---03-15 17:52:13  ,奇葩的2006-01-02 15:04:05,而不是yy-m-d H:m:s
fmt.Println(time.Now().Unix()) //時間戳 1552643533 // seconds since 1970 t, _ := time.Parse("2006---01-02 15:04:05", "2019---03-15 17:52:13") //格式化UTC時間轉時間戳,還可用time.Date,ParseInLocation fmt.Println(t.Unix()) //上月第一天,參考https://www.golangtc.com/t/51bd288c320b5264b800001c中navygong的代碼
//比如今天,7.31,因為沒有6.31,簡單用AddDate(0, -1, 0),不是6月,而是7.1號。因此用下面的代碼: year, month, _ := time.Now().Date() thisMonthFirstDay := time.Date(year, month, 1, 0, 0, 0, 0, t.Location()) //本月第一天 fmt.Println(thisMonthFirstDay.AddDate(0, -1, 0)) //上月第一天 fmt.Println(thisMonthFirstDay.AddDate(
0, 1, -1)) //同理,本月最後一天 thisYearFirstDay := time.Date(year, 1, 1, 0, 0, 0, 0, t.Location()) //同理,本年第一天 fmt.Println(thisYearFirstDay.AddDate(-1, 0, 0)) //去年第一天 fmt.Println(time.Now().Weekday()) //今天是周幾?Friday fmt.Println(int(time.Now().Weekday())) //5 fmt.Println(time.Now().Add(-time.Minute * 10)) //10分鐘前的時間 //明天零點的時間戳,參考https://blog.csdn.net/liangguangchuan/article/details/76922548 timeStr := time.Now().Format("2006-01-02") //使用Parse 默認獲取為UTC時區 需要獲取本地時區 所以使用ParseInLocation t5, _ := time.ParseInLocation("2006-01-02 15:04:05", timeStr+" 23:59:59", time.Local) t6, _ := time.ParseInLocation("2006-01-02", timeStr, time.Local) fmt.Println(t5.Unix() + 1) fmt.Println(t6.AddDate(0, 0, 1).Unix()) }

golang 日期時間處理