DATA: f_date(254),
f_char(1),
f_htype LIKE dd01v-datatype,
f_datum TYPE sy-datum,
F_CHAR8(8).
f_date = '
02-03-2008
'. "与用户的设置有关系
*f_date = '
02/03/2008
'.
*f_date = '
2008/03/02
'.
f_char = f_date+2(1).
CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
string_in = f_char
IMPORTING
htype = f_htype.
IF f_htype = 'NUMC'.
f_char = f_date+4(1).
ENDIF.
WHILE sy-subrc = 0.
REPLACE f_char WITH '' INTO f_date.
ENDWHILE.
CONDENSE f_date NO-GAPS.
f_datum = f_date.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = f_datum
* ACCEPT_INITIAL_DATE =
IMPORTING
date_internal = f_datum
* EXCEPTIONS
* DATE_EXTERNAL_IS_INVALID = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE 'CONVERT_DATE_TO_INTERNAL ERROR' TYPE 'I'.
ELSE.
F_CHAR8 = f_datum.
ENDIF.
WRITE:F_CHAR8.
此主题相关图片如下:
str(10) TYPE c,
df .
EXPORTING
date_format = df
date_string = str
IMPORTING
result_date = dat.
恩,非常感谢。
1.表usr01很有用,而其中的字段DATFM对应的域XUDATFM 中的value range中有各种日期格式的对应关心。
2。FUNCTION 'DATE_STRING_CONVERT'可以把任意格式的日期转换成指定格式的日期。
这样就比较灵活了!