Rof*_*erV 4 sql database datetime cobol date
我最近访问了一个遗留数据库,其中所有日期都以一种我不能翻译的不熟悉的格式存储,我最初的研究让我觉得这是朱利安日期类型,但似乎有点过了?
值得庆幸的是,有一个日期列与其正常对应,但是还有很多其他日期只存在六位数代码.
有什么想法是这些日期,或者更重要的是,如何在这两种格式之间进行转换?
EX:
LEGACY/NORMAL
152409/2018-04-13
152413/2018-04-17
152427/2018-05-01
Run Code Online (Sandbox Code Playgroud)
如果这是相关信息,它是一个古老的MS-SQL数据库,与更古老的COBOL程序相关联.
它可能是自1600-12-31以来的天数
即1601年 1 月1日 = 1等
希望看到来自不同年份的日期来确认
正如SaggingRuffus指出的那样.Cobol的许多方言都具有将日期转换为自自2003年12月31日以来的日期的 功能.这些功能包括:
INTEGER-OF-DATE converts YYYYMMDD date to Days-since 31-12-1600
INTEGER-OF-DAY converts YYYYDDD date to Days-since 31-12-1600
DATE-TO-INTEGER converts Days since 31-12-1600 to YYYMMDD
DAY-OF-INTEGER converts Days since 31-12-1600 to YYYDDD
Run Code Online (Sandbox Code Playgroud)
我注意到:
这不是做日期计算的问题,它给出了31-dec-1600.我也知道存储日期的日期格式是从1600/1601开始的天数.不同年份的日期将确认格式