1 Star 0 Fork 0

tuboyou/c2

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
timeparse.go 1.73 KB
一键复制 编辑 原始数据 按行查看 历史
tuboyou 提交于 2025-03-10 18:02 +08:00 . 添加注释
package u2
import (
"log"
"strconv"
"time"
)
var TimeLayout string = "2006-01-02 15:04:05"
// TimeFormat2timestamp 将格式化的时间字符串转换为时间戳
//
// 参数:
//
// settime - 格式化的时间字符串,格式为"2006-01-02 15:04:05"
// isMS - 是否返回毫秒级时间戳
//
// 返回值:
//
// int64 - 时间戳,如果解析失败返回-1
//
// 注意:
// 1. 使用time.Parse进行解析,使用本地时区
// 2. 当isMS为true时,返回毫秒级时间戳
// 3. 解析失败时会记录错误日志
//
// 示例:
//
// timestamp := TimeFormat2timestamp("2023-01-01 12:00:00", true) // 返回1672531200000
func TimeFormat2timestamp(settime string, isMS bool) int64 {
times, err := time.Parse(TimeLayout, settime)
if err != nil {
log.Println(err)
return -1
}
timeUnixNano := times.Local().UnixNano()
if isMS {
return (timeUnixNano - 8*time.Hour.Nanoseconds()) / 1000000
// return timeUnixNano / 1000000
} else {
return (timeUnixNano - 8*time.Hour.Nanoseconds())
// return timeUnixNano / 1000000000
}
}
// TimeFormat2timestampString 将格式化的时间字符串转换为字符串形式的时间戳
//
// 参数:
//
// settime - 格式化的时间字符串,格式为"2006-01-02 15:04:05"
// isMS - 是否返回毫秒级时间戳
//
// 返回值:
//
// string - 字符串形式的时间戳,如果解析失败返回"-1"
//
// 注意:
// 1. 内部调用TimeFormat2timestamp函数
// 2. 使用strconv.FormatInt将int64转换为字符串
//
// 示例:
//
// timestampStr := TimeFormat2timestampString("2023-01-01 12:00:00", true) // 返回"1672531200000"
func TimeFormat2timestampString(settime string, isMS bool) string {
return strconv.FormatInt(TimeFormat2timestamp(settime, isMS), 10)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/tuboyou/c2.git
git@gitee.com:tuboyou/c2.git
tuboyou
c2
c2
v0.0.4

搜索帮助