【转载】ABAP中时间戳的处理

ABAP中时间戳的处理 注:采购订单中时间戳,VELO03_CONVERT_FROM_TIMESTAMP转换。(或CDHDR)
注:采购订单中时间戳,VELO03_CONVERT_FROM_TIMESTAMP转换。(或CDHDR)


UTC(UTC, Universal Time Coordinated,通用协调时)时间戳,分为长时间戳和段时间戳,其中长时间戳餐开始的系统的数据元素TIMESTAMPL,类型为DEC(21,7);而段时间戳参考的系统数据元素为TIMESTAMP,类型为DEC(15,0)。下文中如果没有特指,一般都指的短时间戳。   1、获取当前时间戳 GET TIME STAMP FIELD timestamp. 获取当前系统的时间戳(这里的时间戳可以是长类型,也可以是短类型) 示例: GET TIIME STAMP FIELD lv_timestamp.   2、使用CONVERT DATE生成指定时间的时间戳 CONVERT DATE date               [TIME time [DAYLIGHT SAVING TIME dst] ]         INTO TIME STAMP time_stamp TIME ZONE tz. 根据指定的日期、时间(可选是否为夏令时)和时区生成时间戳,其中[]圈起来的参数为可选参数,参数解释如下: date:指定的日期(DATS类型) time:指定的时间(TIMS类型) dst:夏令时标志(CHAR1类型) time_stamp:(时间戳 DEC(15,0)类型) tz:时区(CHAR06类型)   系统预留(系统结构为SYST,程序默认结构为SY)的时间变量有:
    • SY-DATUM:应用服务器日期;
    • SY-UZEIT:应用服务器时间;
    • SY-TZONE:应用服务器时区(INT4);
    • SY-DAYST:夏令时;
    • SY-DATLO:用户本地日期;
    • SY-TIMLO:用户本地时间;
    • SY-ZONLO:用户本地时区(CHAR6)。
【注意】在实际测试过程中,即使手动调整本地电脑的时间为费正确的时间,发现系统用户本地时间和服务器时间对应的系统变量的值是一样的(正确的时间值),并不是真正的本地时间,可能是因为时区相同,没有测出差别。 调用示范: CONVERT DATE SY-DATLO TIME SY-TIMLO  INTO TIME STAMP DATA(LV_TIMESTAMP) TIME ZONE SY-ZONLO.   3、使用CONVERT TIME  STAMP获取时间戳对应的日期和时间信息 CONVERT TIME STAMP time_stamp   TIME ZONE tz                   INTO [DATE date]                     [TIME time] [DAYLIGHT SAVING TIME dst]. 根据制定的时间戳和时区,获取对应的日期、时间、夏令时信息,其中[]圈起来的参数为可选参数,参数解释如下: time_stamp:(时间戳 DEC(15,0)类型) tz:时区(CHAR06类型) date:指定的日期(DATS类型) time:指定的时间(TIMS类型) dst:夏令时标志(CHAR1类型) 调用示范: DATA: LV_TIMESTAMP TYPE TIMESTAMP VALUE '20190109112320'. CONVERT TIME STAMP LV_TIMESTAMP TIME ZONE SY-ZONLO INTO DATE DATA(LV_DATE)    TIME DATA(LV_TIME).   4、使用系统函数来进行时间戳来与日期和时间进行转换 系统中有大量的根据日期、时间、时区与时间戳进行互转的函数,只需要在SE37下模糊匹配“*TIMESTAMP*”就可以查到大量的有用函数,以下为常见的几个函数:
  • 根据制定的日期、时间、时区生成时间戳:IB_CONVERT_INTO_TIMESTAMP
  • 根据制定的时间戳和时区转化成日期、时间:IB_CONVERT_FROM_TIMESTAMP
  • 把指定区域的时间戳转化成日期和时间:LTRM_TIMESTAMP_CONVERT_FROM
  • 把指定区域的日期和时间转化成时间戳:LTRM_TIMESTAMP_CONVERT_INTO
  • 把指定的日期和时间转化成时间戳(默认本地时区):ABI_TIMESTAMP_CONVERT_FROM
  • 把指定的时间戳转化成日期和时间(默认本地时区):ABI_TIMESTAMP_CONVERT_INTO
  • 获取指定的远程系统的时间戳:RSWR_TIMESTAMP_GET
实际上,通过查看这些函数的代码可以发现,其实本质最核心的代码还是调用CONVERT语句,因此只需要掌握CONVRT语句即可快速互转时间戳与日期时间信息。 调用示范: DATA: LV_TIMESTAMP TYPE TIMESTAMP. CALL FUNCTION 'IB_CONVERT_INTO_TIMESTAMP'       EXPORTING          I_DATLO     = SY-DATLO          I_TIMLO     = SY-TIMLO          I_TZONE     = SY-ZONLO        IMPORTING          E_TIMESTAMP = LV_TIMESTAMP. 【版权声明】本文为博主原创文章,转载请在明显位置注明出处。 分类: ABAP
<div id="blog_post_info">
好文要顶 关注我 收藏该文 【转载】ABAP中时间戳的处理 【转载】ABAP中时间戳的处理 【转载】ABAP中时间戳的处理 Recluse_Z
关注 - 0
粉丝 - 13 +加关注 2 0
<div class="clear"></div>
<div id="post_next_prev">

<a href="https://www.cnblogs.com/zohoo/p/7295920.html" class="p_n_p_prefix">« </a> 上一篇:    <a href="https://www.cnblogs.com/zohoo/p/7295920.html" title="发布于 2017-08-06 20:46">SAP Web Service简介与配置方法</a>
<br>
<a href="https://www.cnblogs.com/zohoo/p/11593510.html" class="p_n_p_prefix">» </a> 下一篇:    <a href="https://www.cnblogs.com/zohoo/p/11593510.html" title="发布于 2019-09-26 18:08">ABAP中将Unicode字符串转换成中文的方法</a>
posted @ 2019-09-26 18:04  Recluse_Z  阅读( 6922)  评论( 1)  编辑  收藏  举报
</div><!--end: topics 文章、评论容器-->

刷新评论 刷新页面 返回顶部 登录后才能查看或发表评论,立即 登录 或者 逛逛 博客园首页 编辑推荐:

· Dapper in .Net Core


· 使用.NET 6开发TodoList应用(14)——实现查询过滤


· 架构与思维:高并发下幂等性解决方案


· CSS 实现烟雾效果


· 线上高并发应用重构(写)填坑经验分享(一)

最新新闻
· Theranos 创始人 Elizabeth Holmes 被判有罪
· Mozilla 创始人抨击 Mozilla 基金会接受加密货币捐赠
· 我在抖音卖红包封面,月入百万
· AI学高数达到MIT本科水平,学了微积分线代等6门课,做对210道题
· 出租车物流车车车无人,香港乌鲁木齐城城自动
» 更多新闻...

LoadPostCategoriesTags(cb_blogId, cb_entryId); LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid);
GetPrevNextPost(cb_entryId, cb_blogId, cb_entryCreatedDate, cb_postType);
loadOptUnderPost();
GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate);

</div><!--end: forFlow -->
</div>
上一篇:抓包带你体验同网段的通信过程,这些细节很关键


下一篇:计算机网络通信