我想将长度为8的字符串转换为日期类型以进行比较。字符串格式为DDMMYYYY(* EUR)。
它没有用于将日期与月份和年份与月份分开的句点。如果我在%date BIF中输入“ 01012018”之类的值,则编译器会告诉我该表达式对于* EUR:格式而言太短了。
D dateEUR s d datfmt(*EUR)
C eval dateEUR = %date('01012018':*EUR)
我以前比较两个日期的方式是将两个日期都保存起来,将它们存储在数据结构中,使用子字段对日期进行重新排序,然后从覆盖子字段中获取重新排序的结果。
有人知道如何在RPGLE中将8A字符串转换为DATE类型吗?
答案 0 :(得分:4)
您指定的格式取决于您是否存储日期分隔符。如果您的日期位于DD-MM-YYYY(带破折号)的10字节字符字段中,则该格式也是EUR格式:
%date(alpha_date : *eur)
如果您不需要带日期的标准分隔符(在8字节字符字段中为DDMMYYYY),只需在格式名称的末尾附加数字零(0):
%date(alpha_date : *eur0)