tools.aw_id

Yohn Y. 2024-07-06 Parent:cf05ae943d95 Child:3a967e85c0ca

10:05d07cc3040d Go to Latest

tools.aw_id/src/main.go

+ Время в Российском формате

History
1 // devel.a0fs.ru -- aw_id -- v1.r202407.1 //
2 /*
3 Утилиты генерирования полезных в работе ID
4 */
5 package main
7 import (
8 "fmt"
9 "os"
10 "time"
12 "github.com/google/uuid"
13 )
15 const (
16 TIME_ID = iota
17 TIME_HUM
18 TIME_HUM_RU
19 TIME_HUM_SAFE
20 TIME_HUM_SAFE2
21 TIME_ID_SHORT
22 TIME_ID_SHORT2
23 )
25 func get_time_id(id_type int) string {
26 cur_time := time.Now()
27 var time_format string = time.RFC3339
29 switch id_type {
30 case TIME_ID:
31 time_format = "20060102-150405"
32 case TIME_HUM_RU:
33 time_format = "02.01.2006 15:04:05"
34 case TIME_HUM:
35 time_format = "2006-01-02 15:04:05"
36 case TIME_HUM_SAFE:
37 time_format = "2006-01-02 15-04-05"
38 case TIME_HUM_SAFE2:
39 time_format = "2006-01-02_15-04-05"
40 case TIME_ID_SHORT:
41 time_format = "20060102"
42 case TIME_ID_SHORT2:
43 time_format = "200601"
44 }
46 return cur_time.Format(time_format)
47 }
49 func get_uuid() string {
50 res := uuid.New()
51 return res.String()
52 }
54 func get_ver_id() string {
55 return fmt.Sprintf("v0.r%s.1", get_time_id(TIME_ID_SHORT2))
56 }
58 func get_ver_id2() string {
59 return fmt.Sprintf("0.%s.1", get_time_id(TIME_ID_SHORT2))
60 }
62 func prnt_out(k, v string) {
63 fmt.Printf("%10s : %s\n", k, v)
64 }
66 func make_all_ids() {
67 prnt_out("uuid", get_uuid())
68 prnt_out("ts", get_time_id(TIME_ID))
69 prnt_out("tss", get_time_id(TIME_ID_SHORT))
70 prnt_out("tss2", get_time_id(TIME_ID_SHORT2))
71 prnt_out("hr", get_time_id(TIME_HUM))
72 prnt_out("hrr", get_time_id(TIME_HUM_RU))
73 prnt_out("hrs", get_time_id(TIME_HUM_SAFE))
74 prnt_out("hrs2", get_time_id(TIME_HUM_SAFE2))
75 prnt_out("v", get_ver_id())
76 prnt_out("vs", get_ver_id2())
77 fmt.Println("")
78 }
80 func main() {
81 if len(os.Args) > 1 {
82 switch os.Args[1] {
83 case "uuid":
84 fmt.Println(get_uuid())
85 case "ts":
86 fmt.Println(get_time_id(TIME_ID))
87 case "hr":
88 fmt.Println(get_time_id(TIME_HUM))
89 case "hrr":
90 fmt.Println(get_time_id(TIME_HUM_RU))
91 case "hrs":
92 fmt.Println(get_time_id(TIME_HUM_SAFE))
93 case "hrs2":
94 fmt.Println(get_time_id(TIME_HUM_SAFE2))
95 case "tss":
96 fmt.Println(get_time_id(TIME_ID_SHORT))
97 case "tss2":
98 fmt.Println(get_time_id(TIME_ID_SHORT2))
99 case "v":
100 fmt.Println(get_ver_id())
101 case "vs":
102 fmt.Println(get_ver_id2())
103 default:
104 fmt.Println("Need one of: uuid, ts, tss, tss2, hr, hrr, hrs, hrs2, v, vs")
106 fmt.Println("")
107 } else {
108 make_all_ids()