2015-02-24 81 views
0

我似乎有一个问题搞清楚什么日期格式COBOL程序以存储数据。这是什么日期/时间格式? COBOL输出

DATE_SCHD 
A80911 
A80911 
B00324 
A51021 
A51028 
A60518 
B50204 
B50204 
B50204 
B50204 
B50206 
B50202 
B50206 
B50210 

任何线索?

+1

你可以发布任何使用这些定义的数据定义和代码吗?它是什么类型的系统?它可以有未来的日期吗?多岁的日期? – 2015-02-24 14:14:15

回答

3

如果这是Y2K之前的代码,那么它很可能是以YYMMDD格式存储的,而不是从6扩展到8个字节,它被适配为将YY表示为20世纪二进制的十六进制扩展数字年。尽管如此,仍然有两种可能性。如果两个数字都被解释为十六进制,那么A5 = 2005,A6 = 2006,A8 = 2008,B5 = 2021等。但是,如果只有第一个数字被解释为十六进制,则B5 = 2015.

您会需要检查操纵这些日期的代码,或者至少尝试给它提供一些新的测试数据,以便确定它。

+1

第二个字符中缺少A-F,强烈反对两个字符的十六进制。 COBOL中没有可以转换为/从十六进制的行。如果它是一个单一角色,不知道基准十年(或年)是什么,那么猜测这个价值没有多大价值。 – 2015-02-24 14:21:29

+0

自从我的COBOL日子已经很长时间了,所以我不记得太多了,但我并不感到惊讶,因为没有一行转换为十六进制/从十六进制转换。 – 2015-02-24 18:23:33

+1

因此使它不太可能。所有那些最后的2月日期*做*使它看起来像B5是2015年。200 = A,201 = B,202 = C等看起来可能,如果愚蠢。 – 2015-02-24 18:27:39