网站首页 > 软文百科 > 时间戳转换小工具(时间戳工具)

时间戳转换小工具(时间戳工具)

2023-04-06 20:20 发布

有时候需要时间和时间戳之间进行转换,以及获取当前的时间和时间戳。虽然功能很小,但是也不想每次去网页上搜一搜这么麻烦,因此写了一个小工具

源码鉴赏:

package main import ("fmt""os""strconv""strings""time") func main() {const timeLayout = ""2006-01-02 15:04:05" "20060102150405""var sData []stringswitch len(os.Args) {case 1:t := time.Now()fmt.Println(t.Unix(), t.Format(timeLayout))returncase 2:data := strings.TrimSpace(os.Args[1])unix, err := strconv.ParseInt(data, 10, 64)if err == nil {// 转换这种: stamp 1618624877fmt.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:05sData = []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())}

使用方法:

不带参数,获取当前时间戳和时间c:>stamp1618626612 "2021-04-17 10:30:12" "20210417103012"带一个参数,包含完整年月日,时分秒,返回时间戳c:>stamp "2021-04-17 11:22:41"1618629761带两个参数,第一个为年月日,第二个为时分秒c:>stamp 2021-04-17 12:22:411618633361只传一串数字会被当做时间戳,返回对应时间c:>stamp 1618693361"2021-04-18 05:02:41" "20210418050241"直传年月,注意直数字会被当做时间戳转换c:>stamp 2021-41617120000只传年月日c:>stamp 2021-4-181618675200直传年月日,时c:>stamp 2021-4-18 141618725600直传年月日,时分c:>stamp 2021-4-18 14:451618728300直传年月日,时分秒c:>stamp 2021-4-18 14:45:321618728332

把这个小工具记录一下,后面需要用的时候可以方便点,提高效率。

以上内容为【时间戳转换小工具(时间戳工具)】的相关内容,更多相关内容关注容和商贸通

免责声明:

本文内容来自用户上传并发布或网络新闻客户端自媒体,本站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系删除。

推荐问答