|
|
- package helper
-
- import (
- "strconv"
- "time"
- )
-
- func FormatDateTime(str string) string {
- date, err := strconv.ParseInt(str, 10, 64)
- if err != nil {
- return ""
- }
- return time.Unix(date, 0).Format("2006-01-02 15:04:05")
- }
- func FormatDate(str string) string {
- date, err := strconv.ParseInt(str, 10, 64)
- if err != nil {
- return ""
- }
- return time.Unix(date, 0).Format("2006-01-02")
- }
-
- // 获取当天开始时间戳
- 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)
- return reserveTime.Unix()
- }
-
- // 获取当天结束时间戳
- func GetTodayEndTimeStamp() int64 {
-
- var reserveTime time.Time
- loc, _ := time.LoadLocation("Asia/Shanghai")
-
- date := time.Now().Format("2006-01-02")
- reserveTime, _ = time.ParseInLocation("2006-01-02 15:04:05", date+" 23:59:59", loc)
- return reserveTime.Unix()
- }
-
- // 获取本周开始时间戳
- func GetWeekStartTimeStamp() int64 {
-
- var reserveTime time.Time
- now := time.Now()
- loc, _ := time.LoadLocation("Asia/Shanghai")
-
- offset := int(time.Monday - now.Weekday())
- if offset > 0 {
- offset = -6
- }
-
- 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)
- return reserveTime.Unix()
- }
-
- // 获取当月开始时间戳
- 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)
- 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
- }
-
- // 具体日期时间转时间戳
- func DatetimeToUnix(value string) int64 {
- loc, _ := time.LoadLocation("Asia/Shanghai")
-
- reserveTime, _ := time.ParseInLocation("2006-01-02 15:04:05", value, loc)
-
- return reserveTime.Unix()
- }
|