2015-02-24 3 views
0

я, кажется, проблема выяснить, какой формат даты программы в COBOL хранит данные.Какой формат даты/времени это? COBOL Выход

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

Любые подсказки?

+1

Можете ли вы опубликовать любые определения данных и код, который использует эти определения? Что это за система? Может ли он иметь будущие даты? Даты, которым много лет? –

ответ

3

Если это код, который предшествует Y2K, то, скорее всего, он хранится в формате YYMMDD и вместо того, чтобы расширяться от 6 до 8 байтов, он был адаптирован для выражения YY как шестиугольного расширения двадцатого века цифр. Однако это все еще оставляет две возможности. Если обе цифры интерпретируются как шестнадцатеричные, то A5 = 2005, A6 = 2006, A8 = 2008, B5 = 2021 и т. Д. Но если только первая цифра интерпретируется как шестнадцатеричная, то B5 = 2015.

Вы будете необходимо изучить код, который манипулирует этими датами, или, по крайней мере, попытаться подавать ему несколько новых тестовых данных, чтобы точно понять это.

+1

Отсутствие A-F во втором символе сильно противоречит двухсимвольному гексагону. Нет ни одной строки для преобразования в/из шестнадцатеричного кода в COBOL. Если это один символ, не зная, что такое базовое десятилетие (или год), то угадать значение будет мало. –

+0

Прошло много времени с моих дней COBOL, поэтому я не очень много помню, но я не удивлен, что нет однострочного преобразования в/из hex. –

+1

Так делает его менее вероятным. Все эти февральские даты в конце * do * делают его похожим на B5 - 2015. 200 = A, 201 = B, 202 = C и т. Д., Возможно, если тупой. –

Смежные вопросы