通过一种简单的方法可校验时间日期格式是否正确:
1.判断是否有特殊符号
2.判断是否为8位
*&---------------------------------------------------------------------*
*& Report Z_ZHANGM_006
*&
*&---------------------------------------------------------------------*
*&日期格式校验
*&
*&---------------------------------------------------------------------*
REPORT z_zhangm_006.
DATA: v_date TYPE d,
t_len TYPE i,
v_c(10) TYPE c.
****************************
* check date
****************************
v_c = '2008112012'. "这里传入日期
v_date = v_c.
t_len = strlen( v_c ).
IF v_date = 0 or t_len <> 8.
WRITE: / v_c , ' is a Wrong date!'.
WRITE: / t_len.
MESSAGE '日期输入格式有误,请检查上传数据!' TYPE 'I'.
LEAVE PROGRAM.
ELSE.
WRITE: / v_c , ' is a OK date.'.
ENDIF.
非日期格式返回:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPB5ENFRkT6NmeNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL4MTO5QzMxMTMyAzMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
正确日期返回: