Scripting TCL:以时间戳(mmddhhmyyyy.ss)linux格式解析月、日、小时等的最佳方式是什么?

Scripting TCL:以时间戳(mmddhhmyyyy.ss)linux格式解析月、日、小时等的最佳方式是什么?,scripting,tcl,Scripting,Tcl,我一直在尝试分离每个属性(mmddhhmyyyyy.ss) 能够按秒的大小分开秒,前面有一个“.” 仍然无法找到一种方法来分离月、日、分钟等的每个值要仅分离部分,可以使用扫描: scan $timestamp %02d%02d%02d%02d%04d.%02d 如果要保留前导零,请使用“s”而不是“d”: scan $timestamp %02s%02s%02s%02s%04s.%02s 要在后续计算或格式化中使用时间戳,最简单的方法是使用时钟扫描: set sec [clock scan

我一直在尝试分离每个属性(mmddhhmyyyyy.ss) 能够按秒的大小分开秒,前面有一个“.”


仍然无法找到一种方法来分离月、日、分钟等的每个值

要仅分离部分,可以使用扫描:

scan $timestamp %02d%02d%02d%02d%04d.%02d
如果要保留前导零,请使用“s”而不是“d”:

scan $timestamp %02s%02s%02s%02s%04s.%02s
要在后续计算或格式化中使用时间戳,最简单的方法是使用时钟扫描:

set sec [clock scan $timestamp -format %m%d%H%M%Y.%S]
clock format $sec

要仅分离零件,可以使用扫描:

scan $timestamp %02d%02d%02d%02d%04d.%02d
如果要保留前导零,请使用“s”而不是“d”:

scan $timestamp %02s%02s%02s%02s%04s.%02s
要在后续计算或格式化中使用时间戳,最简单的方法是使用时钟扫描:

set sec [clock scan $timestamp -format %m%d%H%M%Y.%S]
clock format $sec
这是最好的方法:

代码如下:

set毫秒[时钟点击]
可变时间[格式“%s_%03d”[时钟格式[时钟秒]-格式%Y%m%d_%H%m%s][expr{$millizes%1000}]
放置$time
这是最好的方法:

代码如下:

set毫秒[时钟点击]
可变时间[格式“%s_%03d”[时钟格式[时钟秒]-格式%Y%m%d_%H%m%s][expr{$millizes%1000}]

放置$time
regexp-inline{(\d{2})(\d{2})(\d{2})(\d{4})。(\d{2})“120503072018.16”
将给出
050302018.16}/code>。您的时间规范不明确:哪个“mm”是分钟,哪个是月?
regexp-inline{2}(\d{2})(\d})(\d>将给出
050302018.16
结果将给出
05030702018.16 05 03 07 2018 16
。您的时间规格不明确:哪个“mm”是分钟,哪个是月?这并不能回答问题。OP有一个要解析的字符串,而不是一个表示毫秒的值。还要注意,[clock clicks]不一定产生毫秒值。为了确保这一点,您至少需要添加-millizes选项。而这个版本已经被[clock Millimes]命令淘汰了。这并不能回答这个问题。OP有一个要解析的字符串,而不是一个表示毫秒的值。还要注意,[clock clicks]不一定产生毫秒值。为了确保这一点,您至少需要添加-millizes选项。而该版本已被[clock Millimes]命令淘汰。