2015-02-24 80 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