RPG - IBM i 时间戳格式

RPG - IBM i TimeStamp format

我正在开发一个 IDE (CA Plex),它不支持时间戳格式,但具有讽刺意味的是,它可以与 IBM i 服务器 (AS400) 一起使用,该服务器使用以下格式的时间戳:yyyy- MM-dd-hh.mm.ss.mmmsss

我正在使用 RPG 函数计算两个时间戳之间的差异,如代码所示:

  *  Difference between two TimeStamps in ms
  /FREE
   &(3:) = %DIFF (&(1:): &(2:): *MSECONDS);
  /END-FREE

&(1:)&(2:)&(3:)是IDE发送的参数,与函数不兼容。发送的 TimeStamp 格式与我之前解释的相同,但 RPG 编译器无法将它们识别为 TimeStamp。我如何格式化这些参数? Somethink like this is what I need:

tstampone = %timestamp(&(1:));
tstamptwo = %timestamp(&(2:));

*  Difference between two TimeStamps in ms
/FREE
   &(3:) = %DIFF (tstampone: tstamptwo: *MSECONDS);
/END-FREE

编译器抛出警告:RNF0580RNF0581

找到答案:

  /FREE
    &(3:) = %DIFF (%TIMESTAMP(&(1:)): %TIMESTAMP(&(2:)): *MS);
  /END-FREE