ABAP 1.WRITE命令使用 2.日期和时间的输出

日期输出:

DATA: DATE_1 TYPE D.

DATE_1 = SY-DATUM.
WRITE: / 'Present Date is:', DATE_1 DD/MM/YYYY.
WRITE: / 'Present Date is:', DATE_1 YYMMDD.


DATE_1 = DATE_1 + 06.
WRITE: / 'Date after 6 Days is:', DATE_1 DD/MM/YYYY.

结果:
在这里插入图片描述

一共有这些日期的输出方式:
在这里插入图片描述

时间输出

DATA: TIME_1 TYPE T.
TIME_1 = SY-UZEIT.

WRITE /(60) TIME_1 USING EDIT MASK 
                   'Now the Time is: __:__:__'.
TIME_1 = TIME_1 + 75.

WRITE /(60) TIME_1 USING EDIT MASK
                   'A Minute and a Quarter from Now, it is: __:__:__'.

结果:
在这里插入图片描述

WRITE USING EDIT MASK 使用ABAP/4 词典中指定的格式模板的激活。

简单例子:

DATA TIME TYPE T VALUE '154633'.
WRITE: TIME,
       /(8) TIME USING EDIT MASK '__:__:__'. "这里直接使用的是格式模板,还可以使用词典中已有的转换规则函数

结果:
在这里插入图片描述
复杂示例:

DATA: TIME      TYPE S_FLTIME,
      MINUTES   TYPE I,
      MSK       TYPE STRING,
      OUTPUT(6) TYPE C.

DESCRIBE FIELD TIME EDIT MASK MSK.
WRITE: / MSK.

MINUTES = 333.
WRITE: / MINUTES USING EDIT MASK MSK. "将分钟转换小时为单位显示


CALL FUNCTION 'CONVERSION_EXIT_SDURA_OUTPUT' "使用转换规则相应的转换函数结果也是一样
  EXPORTING
    INPUT  = 333
  IMPORTING
    OUTPUT = OUTPUT.
WRITE: / OUTPUT.

结果:
在这里插入图片描述
复杂示例解析:
因为数据元素(data element)S_FLTIME的domain域S_DURA在词典中关联一个名叫“SDURA”的转换规则(请看后面两个截图),所以msk返回"==SDURA",然后WRITE语句使用该规则将seconds转换分钟的格式进行显示。
其实规则是由转换函数来实现的,可以通过转换规则找到对应的转换函数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用时间戳

您可以使用 GET TIME STAMP 检索当前系统时间并将其存储在时间戳变量中,如以下代码所示。 GET TIME STAMP语句根据所使用的时间戳数据对象的类型以长指针或短指针格式存储时间戳。 时间戳值使用UTC标准进行编码。

DATA: STAMP_1 TYPE TIMESTAMP,

      STAMP_2 TYPE TIMESTAMPL.
      
GET TIME STAMP FIELD STAMP_1.
WRITE: / 'The short time stamp is:', STAMP_1

TIME ZONE SY-ZONLO.
GET TIME STAMP FIELD STAMP_2.
WRITE: / 'The long time stamp is:', STAMP_2
TIME ZONE SY-ZONLO.

结果:
在这里插入图片描述
在上面的示例中,我们使用TIME ZONE添加WRITE语句显示时间戳。 此添加根据指定的时区的规则格式化时间戳的输出。 系统字段SY-ZONLO用于显示在用户首选项中配置的本地时区。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值