Time 为什么z/OS USS是;日期“;命令输出与TSO时间不同?

Time 为什么z/OS USS是;日期“;命令输出与TSO时间不同?,time,zos,uss,Time,Zos,Uss,美国军舰上的“日期”命令说: 2014年1月22日星期三17:51:30美国东部时间 几秒钟后,TSO TIME命令显示: IKJ56650I时间下午4:51:58。CPU-00:00:02服务-196896会话-07:08:30 2014年1月22日 (有一个小时的时区差。)TSO通过眼球跟踪时间,非常接近系统日志条目中的时间。你知道为什么“date”命令可能会关闭28秒吗 谢谢。区别在于闰秒的处理。仅直接访问硬件时钟(STCK/STCK指令)的应用程序通常会忘记闰秒,因此它们将关闭约30秒。

美国军舰上的“日期”命令说:

2014年1月22日星期三17:51:30美国东部时间

几秒钟后,TSO TIME命令显示:

IKJ56650I时间下午4:51:58。CPU-00:00:02服务-196896会话-07:08:30 2014年1月22日

(有一个小时的时区差。)TSO通过眼球跟踪时间,非常接近系统日志条目中的时间。你知道为什么“date”命令可能会关闭28秒吗


谢谢。

区别在于闰秒的处理。仅直接访问硬件时钟(STCK/STCK指令)的应用程序通常会忘记闰秒,因此它们将关闭约30秒。更智能的应用程序使用系统时间转换例程,自动计算闰秒。下面是一个如何发生这种情况的示例:

话虽如此,POSIX或单一Unix规范(z/OS Unix服务遵守)实际上可能指定“date”命令的行为。以下是SUS在“自纪元以来的秒数”下所说的:

一个近似已过秒数的值 自纪元以来…以自纪元以来的秒为单位表示,每个 每天应精确计算86400秒


根据我的阅读,关于每天有86400秒的评论表明UNIX规范故意不希望闰秒被计算在内。如果是这样的话,那么IBM只是在遵守有关时间显示方式的法律条文

您是否检查了/etc/profile和/或/$home/.profile中的TZ全局变量?它可能被设置到错误的时区。检查我将TZ更改为CST6CDT中的时区设置以匹配时区。日期和TSO时间之间仍然有大约30秒的差异。你能看看CVT并得到CVTLDTO和CVTLSO的值吗?我可以,@zarchasmpgmr,但这如何解释差异呢?你是说date和TSO TIME在计算当前时间时使用这些字段的方式不同吗?我以前在USS的实现方式中看到过奇怪的事情。这更多是出于好奇。