Browse Source

增加RFC3339时间转换

master
guzeng 2 years ago
parent
commit
173222ae49
2 changed files with 44 additions and 18 deletions
  1. +25
    -6
      time.go
  2. +19
    -12
      time_test.go

+ 25
- 6
time.go View File

@ -21,18 +21,18 @@ func FormatDate(str string) string {
}
//获取当天开始时间戳
func GetTodayStartTimeStamp() int64{
func GetTodayStartTimeStamp() int64 {
var reserveTime time.Time
loc, _ := time.LoadLocation("Asia/Shanghai")
date := time.Now().Format("2006-01-02")
reserveTime,_ = time.ParseInLocation("2006-01-02",date,loc)
reserveTime, _ = time.ParseInLocation("2006-01-02", date, loc)
return reserveTime.Unix()
}
//获取本周开始时间戳
func GetWeekStartTimeStamp() int64{
func GetWeekStartTimeStamp() int64 {
var reserveTime time.Time
now := time.Now()
@ -46,17 +46,36 @@ func GetWeekStartTimeStamp() int64{
weekStartDate := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, time.Local).AddDate(0, 0, offset)
weekMonday := weekStartDate.Format("2006-01-02")
reserveTime,_ = time.ParseInLocation("2006-01-02",weekMonday,loc)
reserveTime, _ = time.ParseInLocation("2006-01-02", weekMonday, loc)
return reserveTime.Unix()
}
//获取当月开始时间戳
func GetMonthStartTimeStamp() int64{
func GetMonthStartTimeStamp() int64 {
var reserveTime time.Time
loc, _ := time.LoadLocation("Asia/Shanghai")
date := time.Now().Format("2006-01")
reserveTime,_ = time.ParseInLocation("2006-01",date,loc)
reserveTime, _ = time.ParseInLocation("2006-01", date, loc)
return reserveTime.Unix()
}
// RFC3339ToCSTLayout convert rfc3339 value to china standard time layout
func RFC3339ToCSTLayout(value string) (string, error) {
var (
cst *time.Location
)
var err error
if cst, err = time.LoadLocation("Asia/Shanghai"); err != nil {
panic(err)
}
ts, err := time.Parse(time.RFC3339, value)
if err != nil {
return "", err
}
return ts.In(cst).Format("2006-01-02 15:04:05"), nil
}

+ 19
- 12
time_test.go View File

@ -2,20 +2,27 @@ package helper
import (
"testing"
"time"
// "time"
)
func Test_FormatDate(t *testing.T) {
str := "1110"
strconv := FormatDate(str)
t.Log(strconv)
// func Test_FormatDate(t *testing.T) {
// str := "1110"
// strconv := FormatDate(str)
// t.Log(strconv)
timing := "2019/1/1 8:28"
ret, err := time.ParseInLocation("2006/1/2 15:04", timing, time.Local)
t.Log(ret.Unix())
// timing := "2019/1/1 8:28"
// ret, err := time.ParseInLocation("2006/1/2 15:04", timing, time.Local)
// t.Log(ret.Unix())
// t.Log(err)
// }
// func Test_GetToadyStartTimeStamp(t *testing.T) {
// t.Log(GetMonthStartTimeStamp())
// }
func Test_RFC3339ToCSTLayout(t *testing.T) {
cur := "2018-06-08T10:34:56+08:00"
ret, err := RFC3339ToCSTLayout(cur)
t.Log(ret)
t.Log(err)
}
func Test_GetToadyStartTimeStamp(t *testing.T){
t.Log(GetMonthStartTimeStamp())
}

Loading…
Cancel
Save