1 Star 0 Fork 0

ccait-dev/mochi-iot

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
strUtil.go 1.48 KB
一键复制 编辑 原始数据 按行查看 历史
草耑 提交于 1个月前 . Release version 0.0.0
package strUtil
import (
"fmt"
"regexp"
"strings"
"time"
)
func IsDatetime(dateTime string) bool {
if strings.TrimSpace(dateTime) == "" || (strings.Contains(dateTime, "/") &&
strings.Contains(dateTime, "-")) {
return false
}
// 正则表达式,匹配YYYY-MM-DD HH:MM:SS格式
regex := regexp.MustCompile(`^\d{4}[-/]\d{1,2}([-/]\d{1,2})?([ T](\d{2}:\d{2}(:\d{2})?(\.\d{3})?Z?)?)?$`)
if regex.MatchString(dateTime) {
return true
}
regex = regexp.MustCompile(`^(\d{1,2}[-/])?\d{1,2}[-/]\d{4}([ T](\d{2}:\d{2}(:\d{2})?(\.\d{3})?Z?)?)?$`)
if regex.MatchString(dateTime) {
return true
}
return false
}
func ParseTimestamp(dateStr string, layout string) int64 {
if strings.TrimSpace(dateStr) != "" && IsDatetime(dateStr) {
if strings.TrimSpace(layout) == "" {
layout = "2006-01-02 15:04:05"
} else {
layout = strings.Replace(layout, "yyyy", "2006", -1)
layout = strings.Replace(layout, "MM", "01", -1)
layout = strings.Replace(layout, "dd", "02", -1)
layout = strings.Replace(layout, "HH", "15", -1)
layout = strings.Replace(layout, "mm", "04", -1)
layout = strings.Replace(layout, "ss", "05", -1)
layout = strings.Replace(layout, "SSS", "000", -1)
}
t, err := time.Parse(layout, dateStr)
if err != nil {
return 0
}
return t.Unix()
}
return 0
}
func ToString(val any) string {
str, ok := val.(string)
if ok {
return str
}
b, ok := val.(bool)
if ok {
if b {
return "true"
} else {
return "false"
}
}
return fmt.Sprintf("%v", val)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ccait-dev/mochi-iot.git
git@gitee.com:ccait-dev/mochi-iot.git
ccait-dev
mochi-iot
mochi-iot
v0.0.11

搜索帮助