如何在 Tcl 脚本中获取时间戳字符串?

How to get a timestamp string in Tcl script?

我不懂TCL程序语言但懂python, 我需要修改一个 tcl 脚本来获取时间戳字符串,例如 050209012020 (%Y-%m-%d %H:%M:%S)

首先你需要得到时间

set now [clock seconds]

然后执行相当于 python f-string

set timestr [clock format $now -format "%y-%m-%d %H:%M:%S"]

有关详细信息,请参阅 https://www.tcl.tk/man/tcl8.5/tutorial/Tcl41.html

如何将时间戳转换为人类可读的格式?当前输出格式是时间戳 050209012020 但是

Blockquote

想要输出格式为 date/MM/Year.

'#!

proc do_cmd {cmd} {
    puts [exec "$cmd\n" "# " 15]
}
do_cmd "config global"
do_cmd "config system console"
do_cmd "set output standard"
do_cmd "end"
do_cmd "config global"
proc get_sys_status aname {
    upvar $aname a
    set input [exec "get system status | grep Host\n" "# " 15 ]
    set linelist [split $input \n]
    foreach line $linelist {
        if {![regexp {([^:]+):(.*)} $line dummy key value]} continue
            switch -regexp -- $key {
            Hostname {
                set a(hostname) [string trim $value]
            }
        }   
    }
}
get_sys_status status
do_cmd "end"
do_cmd "execute backup $status(hostname)_[clock format [clock seconds] -format %d.%m.%Y].txt'