代码拉取完成,页面将自动刷新
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)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。