0

我正在开发一个程序(我们PostProcessor称之为OriginalDateTime 值并以与原始格式相同的格式输出。

例如,Original可能输出:

03 : 15 : 30 [h:min:s]

计算PostProcessor出实际时间应该是 4 小时 20 分 10 秒,并且应该输出:

04 : 20 : 10 [h:min:s]

“好”的是,尽管Original程序主要是一个黑盒,但它有一些配置设置。深埋在这些设置中的是一个可以读取的字符串TimeOutputFormatPostProcessor

在上面的例子中,TimeOutputFormat字符串是:

%#H : %M : %S [h:min:s]

我遇到的另一个有效格式字符串是:

%q2 min

它将总分钟数输出到小数点后 2 位。


通过摆弄,我还找到了%c格式字符串,它以以下形式输出:

1/1/1970 03:15:30 AM

这确认Original程序将这些 DateTime 值存储在某种形式的 Unix 时间对象中。

我想知道的是正在使用什么格式系统,所以我可以在我的PostProcessor. 我希望这是一种有点标准的格式,因为我没有任何文档。黑盒Original程序混合使用了 Visual C++、.NET 和 Python 模块(可能还有其他我不知道的技术)。

这是我迄今为止发现的目录。

  • #在字母 (ie %#d) 用前导 0 填充值之前
  • #从值中删除填充%d -> 01 but %#d -> 1
  • 字母后面的数字(即 `%d3')显示十进制数字(如果值有它们)

已知的格式化字符串(来自试验/错误)

%H - Hour component (not total hours, just the hour component)
%M - Minute component
%S - Second component
%a - Day of week (three letter abbrev.)
%b - Month (three letter abbrev.)
%c - Full date (m/d/yyyy HH:MM AM/PM)
%d - Not sure (outputs "01") (guessing day?)
%e-i Not defined
%j - Not sure (outputs "001") (guessing day out of 365?)
%k-l Not defined
%m - Not sure (outputs "01") (guessing month?)
%q - Total minutes
%p - AM/PM

如果有人能识别这个格式化系统,我将不胜感激。我将继续对其进行编目以供我自己使用,但如果它恰好是一个公开可用的(并且希望有良好记录的)系统,那么拥有一些原始文档会很好。

4

0 回答 0