时间戳转换小工具
有时候需要时间和时间戳之间进行转换,以及获取当前时间和时间戳。
虽然功能很小,但是也不想每次去网页上搜一搜这么麻烦,因此写了一个小工具。
源码鉴赏:
copypackage main
import (
"fmt"
"os"
"strconv"
"strings"
"time"
)
func main() {
const timeLayout = "\"2006-01-02 15:04:05\" \"20060102150405\""
var sData []string
switch len(os.Args) {
case 1:
t := time.Now()
fmt.Println(t.Unix(), t.Format(timeLayout))
return
case 2:
data := strings.TrimSpace(os.Args[1])
unix, err := strconv.ParseInt(data, 10, 64)
if err == nil {
// 转换这种: stamp 1618624877
fmt.Println(time.Unix(unix, 0).Format(timeLayout))
return
}
// 转换这种: stamp "2006-01-02 15:04:05"
sData = strings.Fields(data)
case 3:
// 转换这种: stamp 2006-01-02 15:04:05
sData = []string{os.Args[1], os.Args[2]}
default:
fmt.Printf("usage:%s or %s [2006-01-02 15:04:05|1136185445]\n", os.Args[0], os.Args[0])
return
}
var ymd, hms [3]int // 计算年月日
for i, v := range strings.Split(strings.TrimSpace(sData[0]), "-") {
n, err := strconv.Atoi(v)
if err != nil {
panic(err)
}
ymd[i] = n
}
if len(sData) == 2 { // 计算时分秒
for i, v := range strings.Split(strings.TrimSpace(sData[1]), ":") {
n, err := strconv.Atoi(v)
if err != nil {
panic(err)
}
hms[i] = n
}
}
t := time.Date(ymd[0], time.Month(ymd[1]), ymd[2], hms[0], hms[1], hms[2], 0, time.Local)
fmt.Println(t.Unix())
}
使用方法:
copy不带参数,获取当前时间戳和时间
c:\>stamp
1618626612 "2021-04-17 10:30:12" "20210417103012"
带一个参数,包含完整年月日,时分秒,返回时间戳
c:\>stamp "2021-04-17 11:22:41"
1618629761
带两个参数,第一个为年月日,第二个为时分秒
c:\>stamp 2021-04-17 12:22:41
1618633361
只传一串数字会被当做时间戳,返回对应时间
c:\>stamp 1618693361
"2021-04-18 05:02:41" "20210418050241"
直传年月,注意直数字会被当做时间戳转换
c:\>stamp 2021-4
1617120000
只传年月日
c:\>stamp 2021-4-18
1618675200
直传年月日,时
c:\>stamp 2021-4-18 14
1618725600
直传年月日,时分
c:\>stamp 2021-4-18 14:45
1618728300
直传年月日,时分秒
c:\>stamp 2021-4-18 14:45:32
1618728332
把这个小工具记录一下,后面需要用的时候可以方便点,提高效率。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~