首页 > 解决方案 > 从 Tcl 中的年月格式字符串中提取时钟秒数

问题描述

我正在尝试在 Tcl 中提取格式为 YearMonth 这样的字符串的时钟时间。2020 年 1 月的“202001”。

% set value "202001" 
% set clocktime [clock scan $value -format "%Y%m"]
1608537600

可以看到 Tcl 提取的纪元时间为 1608537600

如您所见,这是不正确的。如果我将该值转换回字符串值,它会在 2020 年 12 月返回

% clock format 1608537600 -format "%Y%m"
202012

我在这里做错了什么?

标签: tcl

解决方案


手册中指定(基本上是说“日期根据预处理格式字符串中存在的字段确定的部分。按优先顺序:...”)如果未指定日期,则日期将被视为当前日期。

由于提供的时钟值中缺少日期,时钟扫描将返回脚本运行的日期作为日期。您可以尝试使用该值运行它,2019只要您在同一天执行,您将获得相同的结果。

为了避免这种情况,您可以做的是添加日期。附加01到值和%d格式字符串应该不会太难。


推荐阅读