欢迎光临散文网 会员登陆 & 注册

2022年的 Tcl/Tk 编程入门参考 14.时间

2022-05-14 15:11 作者:象喻  | 我要投稿

时间

clock命令是面向日期、时间方面的命令。time命令统计代码的执行时间,或者计算多次运行同一代码段的平均运行时间。😓我是觉得这两个名字互换一下会更好些。

Unix时间戳

因为TCL语言最早应用于UNIX系统,所以它内部的时间体系也沿用了UNIX时间。即以1970年1月1日00时00分00秒为起点到现在的总秒数,也就是从1970年元旦到现在一共过了多少秒。这个时间体系对计算机行业影响深远,很多语言也都沿用或者支持UNIX时间戳。UNIX时间始终是一个整数,从2001年9月以后,以秒为单位就已经是10位的整数了。此外也有扩展的高精度UNIX时间,以毫秒为单位的话,就是13位的整数;以微秒为单位就是16位整数。


time

time命令统计代码的执行时间,在设置重复次数参数时计算多次运行同一代码段的平均运行时间

用法: time 代码段 ?重复次数?

 



clock

clock seconds:返回从1970-1-1零时至今的秒数

clock milliseconds/microseconds:以毫秒/微秒返回时间

clock clicks:用于高精度计时器(比如高精度秒表)或者跟记时有关的基准测试。执行该命令就返回一个当前系统支持的最高精度的记时数值(比如CPU周期计数器),这个值会随着时间增长,再次执行时就可以计算两者之间的时差。注意:返回的数值仅供计算差值,与当前的日期/时间无关。

clock add:时间加减(支持负数)单位:秒seconds 分minutes 时hours 日days 周weeks 月months 年years

clock format:转换为其它时间格式

clock scan:其它时间格式转换为Unix时间戳秒数

 



北京时区问题

clock format/scan 时区里没有“北京时间”,因为国际标准化组织制定时区名的时候,我国一共分成了五个时区:哈尔滨、上海、重庆、乌鲁木齐和喀什。然后我国统一使用北京时间之后,因为历史遗留原因,国际标准化组织没有更新时区名,所以在时区名里找不到“北京时区”,可以用上海时区代替。此外,虽然我国这五个时区都有自己定义的时间,但是TCL语言实际只实现了上海和乌鲁木齐两个时区:哈尔滨、重庆和上海是一样的;喀什和乌鲁木齐是一样的,喀什时区名是Kashgar。



2022年的 Tcl/Tk 编程入门参考 14.时间的评论 (共 条)

分享到微博请遵守国家法律