You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tcl中转换包含毫秒的时间对象

Tcl解析含毫秒的时间字符串解决方案

要解析带毫秒的时间字符串,只需修改clock scan的-format参数,加入毫秒匹配格式符%3f即可:

修改后的代码示例

set date1 "2022-01-30 00:00:08.912"
# 用%S.%3f匹配秒+毫秒部分
set timestamp [clock scan $date1 -format {%Y-%m-%d %H:%M:%S.%3f} -gmt 1]
puts $timestamp

这段代码会返回包含毫秒的浮点型时间戳(如1643481608.912),代表从UTC纪元开始的秒数(小数部分对应毫秒)。

扩展:将带毫秒的时间戳转回字符串

如果需要把解析得到的时间戳再格式化为带毫秒的字符串,可使用clock format配合同样的格式符:

puts [clock format $timestamp -format {%Y-%m-%d %H:%M:%S.%3f} -gmt 1]

输出结果为:2022-01-30 00:00:08.912

注意事项

  • %3f用于匹配三位毫秒数,如果你的时间字符串包含更高精度(如微秒),可改用%6f
  • 该方案适用于Tcl 8.5及以上版本(8.5开始支持浮点型时间戳)

内容的提问来源于stack exchange,提问作者newdeveloper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:13:15