代码拉取完成,页面将自动刷新
package u2
import (
"log"
"strconv"
"time"
)
type TimeParse int64
// TimeNow 获取当前时间的TimeParse对象
//
// 返回值:
//
// TimeParse - 表示当前时间的TimeParse对象
//
// 注意:
//
// 使用time.Now().UnixNano()获取当前时间的纳秒表示
//
// 示例:
//
// now := TimeNow() // 返回当前时间的TimeParse对象
func TimeNow() TimeParse {
return TimeParse(time.Now().UnixNano())
}
// TimeCommon 根据纳秒时间戳创建TimeParse对象
//
// 参数:
//
// t - 纳秒级时间戳
//
// 返回值:
//
// TimeParse - 表示指定时间的TimeParse对象
//
// 示例:
//
// tp := TimeCommon(1672531200000000000) // 创建表示2023-01-01 00:00:00的TimeParse对象
func TimeCommon(t int64) TimeParse {
return TimeParse(t)
}
// TimeFormat 根据格式化的时间字符串创建TimeParse对象
//
// 参数:
//
// format - 格式化的时间字符串,格式为"2006-01-02 15:04:05"
//
// 返回值:
//
// TimeParse - 表示指定时间的TimeParse对象
//
// 注意:
// 1. 如果解析失败,会使用当前时间并记录错误日志
// 2. 使用time.Parse进行解析
//
// 示例:
//
// tp := TimeFormat("2023-01-01 12:00:00") // 创建表示2023-01-01 12:00:00的TimeParse对象
func TimeFormat(format string) TimeParse {
t, err := time.Parse("2006-01-02 15:04:05", format)
if err != nil {
log.Println(err)
t = time.Now()
}
return TimeParse(t.UnixNano())
}
// Add 为TimeParse对象增加指定的时间间隔
//
// 参数:
//
// d - 要增加的时间间隔
//
// 返回值:
//
// TimeParse - 增加时间间隔后的新TimeParse对象
//
// 示例:
//
// newTime := tp.Add(time.Hour) // 增加1小时
func (t TimeParse) Add(d time.Duration) TimeParse {
return TimeParse(int64(t) + int64(d))
}
// Unix 获取TimeParse对象的秒级时间戳
//
// 返回值:
//
// int64 - 秒级时间戳
//
// 示例:
//
// timestamp := tp.Unix() // 返回秒级时间戳
func (t TimeParse) Unix() int64 {
return int64(t) / 1e9
}
// Unix 获取TimeParse对象的秒级时间戳
//
// 返回值:
//
// int64 - 秒级时间戳
//
// 示例:
//
// timestamp := tp.Unix() // 返回秒级时间戳
func (t TimeParse) Unix2String() string {
return strconv.FormatInt(t.Unix(), 10)
}
// UnixNano 获取TimeParse对象的纳秒级时间戳
//
// 返回值:
//
// int64 - 纳秒级时间戳
//
// 示例:
//
// nano := tp.UnixNano() // 返回纳秒级时间戳
func (t TimeParse) UnixNano() int64 {
return int64(t)
}
// UnixMilli 获取TimeParse对象的毫秒级时间戳
//
// 返回值:
//
// int64 - 毫秒级时间戳
//
// 示例:
//
// milli := tp.UnixMilli() // 返回毫秒级时间戳
func (t TimeParse) UnixMilli() int64 {
return int64(t) / 1e6
}
// UnixMilli 获取TimeParse对象的毫秒级时间戳
//
// 返回值:
//
// int64 - 毫秒级时间戳
//
// 示例:
//
// milli := tp.UnixMilli() // 返回毫秒级时间戳
func (t TimeParse) UnixMilli2Strig() string {
return strconv.FormatInt(t.UnixMilli(), 10)
}
// TimeFormat 将TimeParse对象格式化为指定格式的字符串
//
// 参数:
//
// format - 时间格式字符串
//
// 返回值:
//
// string - 格式化后的时间字符串
//
// 示例:
//
// str := tp.TimeFormat("2006-01-02") // 返回"2023-01-01"
func (t TimeParse) TimeFormat(format string) string {
return time.Unix(t.Unix(), 0).Format(format)
}
// TimeFormatDefault 将TimeParse对象格式化为默认格式的字符串
//
// 返回值:
//
// string - 格式化后的时间字符串,格式为"2006-01-02 15:04:05"
//
// 示例:
//
// str := tp.TimeFormatDefault() // 返回"2023-01-01 12:00:00"
func (t TimeParse) TimeFormatDefault() string {
return time.Unix(t.Unix(), 0).Format("2006-01-02 15:04:05")
}
// DayStart 获取TimeParse对象所在天的开始时间
//
// 返回值:
//
// TimeParse - 表示当天00:00:00的TimeParse对象
//
// 示例:
//
// start := tp.DayStart() // 返回当天00:00:00的TimeParse对象
func (t TimeParse) DayStart() TimeParse {
tt := time.Unix(t.Unix(), 0)
return TimeParse(time.Date(tt.Year(), tt.Month(), tt.Day(), 0, 0, 0, 0, tt.Location()).UnixNano())
}
// DayEnd 获取TimeParse对象所在天的结束时间
//
// 返回值:
//
// TimeParse - 表示当天23:59:59.99的TimeParse对象
//
// 示例:
//
// end := tp.DayEnd() // 返回当天23:59:59.99的TimeParse对象
func (t TimeParse) DayEnd() TimeParse {
tt := time.Unix(t.Unix(), 0)
return TimeParse(time.Date(tt.Year(), tt.Month(), tt.Day(), 23, 59, 59, 99, tt.Location()).UnixNano())
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。