代码拉取完成,页面将自动刷新
package timeUtil
import (
"time"
)
type Time time.Time
const (
TimeFormat = "2006-01-02 15:04:05"
LongFormat = "2006-01-02 15:04:05.000000000"
CompactFormat = "20060102150405" // 紧凑型格式
)
/**********************************************
转换
**********************************************/
// NowStr 得到当前时间的通用格式字符串
func NowStr() string {
return TimeStr(time.Now())
}
// NowStr2 得到当前时间的字符串(秒)
func NowStr2() string {
return TimeFmtStr(time.Now(), CompactFormat)
}
func NowFmtStr(fmtStr string) string {
return TimeFmtStr(time.Now(), fmtStr)
}
func TimeStr(t time.Time) string {
return TimeFmtStr(t, TimeFormat)
}
func TimeFmtStr(t time.Time, fmt string) string {
return t.Format(fmt)
}
func NowNano() int64 {
return TimeSecond(time.Now())
}
func TimeNano(t time.Time) int64 {
return t.UnixNano()
}
// NowMillis 得到当前时间戳 毫秒
func NowMillis() int64 {
return TimeMillis(time.Now())
}
func TimeMillis(t time.Time) int64 {
return t.UnixNano() / 1e6
}
// NowSecond 得到当前时间戳 秒
func NowSecond() int64 {
return TimeSecond(time.Now())
}
func TimeSecond(t time.Time) int64 {
return t.Unix()
}
// TimeFromStamp 时间戳 参数 s 为秒 ns 为纳秒
// 注:最后的时间为s+ns的结果
// millis := nanos / 1000000 // 毫秒
func TimeFromStamp(s, ns int64) time.Time {
return time.Unix(s, ns)
}
func TimeFromStampMillis(ms int64) time.Time {
return time.Unix(0, ms*1e6)
}
/**********************************************
UTC
**********************************************/
func UTCbyTime(t time.Time) (time.Time, error) {
// time.LoadLocation("") //等同于"UTC"
// time.LoadLocation("Local")//服务器设置的时区
// time.LoadLocation("America/Los_Angeles")
local, err := time.LoadLocation("Local")
if err != nil {
return time.Now(), err
} else {
t1 := t.In(local)
return t1, nil
}
}
/**********************************************
json
**********************************************/
func (t *Time) UnmarshalJSON(data []byte) (err error) {
now, err := time.ParseInLocation(`"`+TimeFormat+`"`, string(data), time.Local)
*t = Time(now)
return
}
func (t Time) MarshalJSON() ([]byte, error) {
b := make([]byte, 0, len(TimeFormat)+2)
b = append(b, '"')
b = time.Time(t).AppendFormat(b, TimeFormat)
b = append(b, '"')
return b, nil
}
func (t Time) String() string {
return time.Time(t).Format(TimeFormat)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。