日期和时间参数

事务集成器 (TI) 转换和格式化与主机交换的日期和时间参数,具体取决于编程语言和主机平台。

可以使用 TI 项目设置或更改 Date 参数的属性。 下表显示了在参数的“数据类型”属性设置为“日期”的情况下,每个主机数据类型的格式设置和有效分隔符。

数据类型格式和分隔符

主机数据类型 格式化 (默认分隔符) 有效分隔符 Length 备注
日期和时间 yyyydddhhmmsss (两个打包的十进制字段) 8
仅日期 (仅限 COBOL) yyyyddd (打包的十进制) 4 (1) (2)
仅 DATE (RPG *MDY) mm/dd/yy /-.,& 8 (5)
仅 DATE (RPG *DMY) dd/mm/yy /-.,& 8 (5)
仅 DATE (RPG *YMD) yy/mm/dd /-.,& 8 (5)
仅 DATE (RPG *JUL) yy/ddd /-.,& 6 (5)
仅 DATE (RPG *LONGJUL) yyyy/ddd 8
仅限时间 (仅限 COBOL) hhmmsss (打包的十进制) 4 (3) (4)
仅输入法 (RPG *HMS) hh:mm:ss :.,& 8
ISO 日期和时间 yyyy-mm-dd hh.mm.ss space 19
仅限 ISO 日期 yyyy-mm-dd - 10
仅限 ISO 时间 hh.mm.ss . 8
美国日期和时间 mm/dd/yyyy hh:mm AM (或 PM) space 19
仅限美国日期 mm/dd/yyyy / 10
仅限美国时间 hh:mm AM 或

hh:mm PM
: 8
JIS 日期和时间 yyyy-mm-dd hh:mm:ss space 19
仅 JIS 日期 yyyy-mm-dd - 10
仅 JIS 时间 hh:mm:ss : 8
EUR 日期和时间 dd.mm.yyyy hh.mm.ss space 19
仅限欧元日期 dd.mm.yyyy . 10
仅限 EUR 时间 hh.mm.ss . 8
TIMESTAMP yyyy-mm-dd-hh.mm.ss.mmmm (长度 26) 。 0001-01-01-00.00.00.000000 0001-01-01-00.00.00.000000

其中:

ISO = 国际标准组织

USA = IBM USA Standard

EUR = IBM 欧洲标准

JIS = 日本工业标准基督教时代

注意

将日期发送到主机时,主机仅使用 Julian Date YYYYDDDD 填充七位数的 COMP-3 数据类型,而不使用其他格式。

注意

从主机收到日期时, Date 参数必须打包为 7 位 COMP-3 数据类型中的有效 Julian Date。

注意

将时间发送到主机时,主机会将 7 位数的 COMP-3 数据类型填充为 HHMMSSS,最多为 100 秒。 例如,发送上午 01:12:03 会使用 0112030 填充主机上的 COMP-3 数据类型;发送 01:12:003 AM 会用0112003填充主机上的 COMP-3 数据类型。

注意

从主机收到时间时, Time 参数必须打包在打包为 HHMMSSS 的 7 位 COMP-3 数据类型中;以任何其他格式传递的数据可能不会返回预期的结果。

注意

从主机返回的两位数年份 (yyy) 映射到 yy) (四位数年份,如下所示:

00 到 39 映射为 20xx。

40 到 99 映射为 19xx。

当 TI 从主机接收 参数时,会发生舍入:

  • time 的小时值向上舍入日期日期。

  • 时间分钟数将时间四舍五入。

  • 前两位秒会影响分钟的值。

  • 秒的第三个数字或 1\100 秒的值不会影响分钟值。 它将被转发到工作站并显示。

    例如:

  • 将1997001分配给主机日期字段,将 3701000 分配给时间字段会导致工作站显示 01/02/1997 11:01:00 PM。

  • 将1197001分配给主机日期字段并0101610时间字段会导致工作站显示 01/01/1997 01:02:01。

  • 将1197001分配给主机日期字段并0101619时间字段会导致工作站显示 01/01/1997 01:02:019。