TCL时钟命令

suj*_*suj 1 tcl

下面显示的时钟操作在具有TCL 8.5的Linux机器上运行良好.但是当我在具有TCL8.4的SunOS上使用相同的内容时,我收到错误"bad switch"-format":必须是-base或-gmt".

出于某种原因,我无法在SunOS中将我的TCL 8.4升级到8.5.

任何人都可以请求帮助,我怎样才能使它在TCL 8.4中工作??????

下面给出了命令,我试图通过这些命令实现的是将系统日期提前一天.

$ today包含值"2012 06 15 14 39 20"

set today [clock scan $today -format "%Y %m %d %H %M %S"]      
set tomorrow [clock add $today 86600 seconds]
set victim [clock format $tomorrow -format "%a"]
set tomorrow [clock format $tomorrow -format "%m%d%H%M"]
send "sudo date $tomorrow\r"
Run Code Online (Sandbox Code Playgroud)

谢谢

Don*_*ows 5

杰克逊的答案是问题的核心:8.5增加了很多功能clock,你的代码依赖于它们.但是,他并没有确定获得目标时间的最佳方法.

# Multiple assignment from list
foreach {YY MM DD HH mm ss} $today break
# Get the date tomorrow in one funky step
set tomorrow [clock scan "$YY$MM$DD $HH$mm$ss + 86600 seconds"]

# Rest is the same as before
set victim [clock format $tomorrow -format "%a"]
set tomorrow [clock format $tomorrow -format "%m%d%H%M"]
send "sudo date $tomorrow\r"
Run Code Online (Sandbox Code Playgroud)

(你知道一天不会长86600秒吗?这比平均长度长200秒......)