日期和时间可调用服务

通过使用 日期和时间 可调用服务,可以获取多种格式的当前本地时间和日期,并且可以转换日期和时间。

下面显示了可用的 日期和时间 可调用服务。 其中两项服务 (CEEQCEN 和 CEESCEN) 提供了一种可预测的方式来处理两位数的年份,例如 91 表示 1991 年, 10 表示 2010 年。

表 1. 日期和时间可调用服务
可调用服务 描述
CEECBLDY:将日期转换为 COBOL 整数格式 将字符日期值转换为 COBOL 整数日期格式。 第一天是 1601 年 1 月 1 日,之后的每一天该值递增 1。
CEEDATE:将Lilian日期转换为字符格式 将 Lilian 格式的日期转换回字符值。
CEEDATM:将秒数转换为字符时间戳 将秒数转换为字符时间戳记。
CEEDAYS:将日期转换为Lilian格式 将字符日期值转换为 Lilian 格式。 第一天是 1582 年 10 月 15 日,该值将在其后的每一天递增 1。
CEEDYWK:根据莉莉安日期计算星期几 提供星期几计算。
CEEGMT:当前格林尼治标准时间 获取当前格林威治标准时间 (日期和时间)。
CEEGMTO:格林威治标准时间与当地时间之间的时差 获取格林威治标准时间与本地时间之间的差异。
CEEISEC:将整数转换为秒数 将二进制的年,月,日,小时,秒和毫秒转换为表示自 1582 年 10 月 15 日 00:00:00 以来的秒数的数字。
CEELOCT:获取当前本地日期或时间 获取当前日期和时间。
CEEQCEN:查询世纪窗口 查询可调用服务世纪窗口。
CEESCEN:设置世纪窗口 设置可调用服务世纪窗口。
CEESECI:将秒数转换为整数 将表示自 1582 年 10 月 15 日 00:00:00 以来的秒数的数字转换为表示年,月,日,小时,分钟,秒和毫秒的七个单独二进制整数。
CEESECS:将时间戳转换为秒数 将字符时间戳记 (日期和时间) 转换为自 1582 年 10 月 00:00:00 以来的秒数。
协调世界时:协调世界时 与 CEEGMT 相同。
IGZEDT4: 获取当前日期 返回格式为 YYYMMDD 的四位数年份的当前日期。

所有这些 日期和时间 可调用服务都允许源代码与 Enterprise COBOL for z/OS®兼容。 但是,处理条件的方式存在显着差异。

日期和时间 可调用服务是对下面显示的日期/时间内在函数的补充。

表 2. 日期和时间内部函数
内在函数 描述
CURRENT-DATE 当前日期和时间以及与格林尼治标准时间的时差
DATE-OF-INTEGER1 整数日期的标准日期等效值 (YYYYMMDD)
DATE-TO-YYYYMMDD1 具有窗口年份的整数日期的标准日期等效值 (YYYYMMDD) ,根据指定的 100 年时间间隔
DATEVAL1 相当于整数或字母数字日期的日期字段
DAY-OF-INTEGER1 与整数日期等效的儒略日期 (YYYYDDD)
DAY-TO-YYYYDDD1 具有窗口年份的整数日期的儒略日期等效值 (YYYYMMDD) ,根据指定的 100 年时间间隔
INTEGER-OF-DATE 相当于标准日期的整数日期 (YYYYMMDD)
INTEGER-OF-DAY 与儒略日期等效的整数日期 (YYYYDDD)
UNDATE1 非日期等效于整数或字母数字日期字段
YEAR-TO-YYYY1 窗口年份的扩展年份 (YYYY) ,根据指定的 100 年时间间隔
YEARWINDOW1 YEARWINDOW 编译器选项指定的世纪窗口的起始年份
  1. 行为取决于 DATEPROC 编译器选项的设置。

示例:输出日期的格式设置

相关参考资料
反馈令牌
CALL 语句( COBOL for Linux® on x86 语言参考资料
函数定义( COBOL for Linux on x86 语言参考资料