如何从2019年4月30日开始使用日期获取日期计数,例如4月30日

2020-09-08 08:40发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有一个要求,我要用字显示月份日期。

例如:我的约会日期是30.04.2019

所以我需要在2019年4月30日的输出中显示它。

请提出建议。

感谢和问候,

亚米尼

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我有一个要求,我要用字显示月份日期。

例如:我的约会日期是30.04.2019

所以我需要在2019年4月30日的输出中显示它。

请提出建议。

感谢和问候,

亚米尼

付费偷看设置
发送
4条回答
N-Moskvin
1楼-- · 2020-09-08 09:38

另一种改进的方法可能是从FM MONTH_NAMES_GET获取飞蛾名称,然后从返回的内部表中获取与您日期中的月份号相对应的月份。

然后按照Ebrahim的建议进行字符串连接。 当然,请记住要进行一些条件设置,例如,如果日期以1、2或3结尾,则将字符串设置为" st"," nd或rd"而不是" th",除非您对第一天没问题, 第2天,第3天,等等...;-)

然后需要进行一些改进,以显示第11天,第13天,第21天,第22天,第31天等。

xfwsx85
3楼-- · 2020-09-08 09:17

SAPscript方式:

 DATA:globaldate TYPE d,字符串TYPE字符串。
 globaldate ='20190401'。
 PERFORM get_date CHANGING字符串。
 写/字符串。


 FORM get_date CHANGING字符串TYPE字符串。
   DATA(ls_header)= VALUE thead(tdspras = sytangu tdlinesize = 72)。
   DATA(lt_line)= VALUE tline_tab(
   (tdformat ='/:'tdline = |设置日期掩码='{CONV i(globaldate + 6(2))} {开关#(globaldate + 6(2)
          MMMM的日期,即YYYY'|当1或21或31 THEn`st`时2或22 THEN`nd`当3或23 THEN`rd` ELSE`th`  )
   (tdformat ='*'tdline ='&GLOBALDATE&'))。
   通话功能" TEXT_SYMBOL_REPLACE"
     出口
       标头= ls_header
       程序= sy-repid
     桌子
       行= lt_line。
   字符串= lt_line [2] -tdline。
 ENDFORM。

没有UI5方法吗?

槿木_熙
4楼-- · 2020-09-08 09:32

您好yamini gadde,

您可以使用FM

CONVERSION_EXIT_LDATE_OUTPUT

然后,您必须将日期与月份的" th day"连接起来。 +年。

将l_month l_year的l_day'thth day连接到l_date_in_word中。

数据:lv_date类型char10 VALUE '10 .04.2019'。
 数据:lv_date_out类型为sy-datum。
 数据lv_month_name类型为FCLTX。
 数据lv_date_in_word类型字符串。

 通话功能" CONVERSION_EXIT_SDATE_INPUT"
   出口
     输入= lv_date
  输入
    输出= lv_date_out。
    
 通话功能" ISP_GET_MONTH_NAME"
   出口
     语言= sy-langu
    MONTH_NUMBER = lv_date_out + 4(2)
  输入
    LONGTEXT = lv_month_name。

   数据lv_str TYPE C长度2。
   案例lv_date_out + 6(2)。
     当为" 1"时。
       lv_str ='st'。
     当" 2"时。
       lv_str ='nd'。
     当" 3"。
       lv_str ='rd'。
     当别人。
       lv_str ='th'。
   结束。

 将lv_date_out + 6(2)lv_str'day of'lv_month_name lv_date_out(4)并入lv_date_in_word中,并按空格分隔。

 写道:/lv_date_in_word。
 

最诚挚的问候

易卜拉欣

一周热门 更多>