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中时间戳的处理的更多相关文章

  1. 理解CSV文件以及ABAP中的相关操作

    在很多ABAP开发中,我们使用CSV文件,有时候,关于CSV文件本身的一些问题使人迷惑.它仅仅是一种被逗号分割的文本文档吗? 让我们先来看看接下来可能要处理的几个相关组件的词汇的语义. Separat ...

  2. ABAP中使用浏览器打开网页

    在SAP ABAP中可以在Screen中嵌入Html control打开网页,也可以通过调用本地的IE浏览器打开. 1.在Screen中嵌入Html control的例子,在系统中有,se38:SAP ...

  3. 字符串处理:ABAP中的正则表达式

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. ABAP中的AMDP(ABAP-Managed Database Procedures )

    ABAP管理下的数据库存储过程(ABAP-Managed Database Procedure,以下简称AMDP)是在APAP on SAP HANA开发中的一种优化模式.AMDP使用数据库语言书写, ...

  5. ABAP 中的搜索帮助

    ABAP 中的搜索帮助 https://blog.csdn.net/u011576750/article/details/50999078 一.简介:在abap中,用到的搜索帮助个人遇到的情况如下,进 ...

  6. ABAP 中JSON格式的转换与解析

    RT,JSON是当今十分流行的一种轻量数据格式,广泛地应用于各种数据交换场景中.本文会介绍一种比较简单的将ABAP中的数据转换为JSON格式的方法. (如果你是因为引号的问题搜索到了这篇文章,请直接拉 ...

  7. js中时间戳转换成时间格式

    js中时间戳转换成时间格式, // 时间戳转换成时间格式 var formatDate = function(date){ date = new Date(date); var y=date.getF ...

  8. 【ABAP系列】SAP ABAP中ALV使用HTML的例子

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP中ALV使用HT ...

  9. 【ABAP系列】SAP ABAP中使用for all entries in小结

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP中使用for a ...

随机推荐

  1. java架构之路-(SpringMVC篇)SpringMVC主要流程源码解析(上)源码执行流程

    做过web项目的小伙伴,对于SpringMVC,Struts2都是在熟悉不过了,再就是我们比较古老的servlet,我们先来复习一下我们的servlet生命周期. servlet生命周期 1)初始化阶 ...

  2. 43 道检验基础的 JavaScript 面试题

    导读 这两天的GitHub Trending repositories被一个名叫 javascript-questions的项目霸榜了,项目中记录了一些JavaScript题目. 文中有些点作者解释的 ...

  3. go语言标准库之http/template

    html/template包实现了数据驱动的模板,用于生成可对抗代码注入的安全HTML输出.它提供了和text/template包相同的接口,Go语言中输出HTML的场景都应使用text/templa ...

  4. python串口助手

    最近项目中要使用模拟数据源通过向外发送数据,以前都是用C#编写,最近在研究python,所以就用python写了一个串口助手,方便以后的测试. 在电脑上通过虚拟串口助手产生两个虚拟串口,运行编写的串口 ...

  5. 开发一个带UI的库(asp.net core 3.0)

    在GitHub上有个项目,本来是作为自己研究学习.net core的Demo,没想到很多同学在看,还给了很多星,所以觉得应该升成3.0,整理一下,写成博分享给学习.net core的同学们. 项目名称 ...

  6. 你不可错过的Java学习资源清单

    学习Java和其他技术的资源其实非常多,但是我们需要取其精华去其糟粕,选择那些最好的,最适合我们的,同时也要由浅入深,先易后难.基于这样的一个标准,我在这里为大家提供一份Java的学习资源清单. Ja ...

  7. Docker 安装Oracle

    1.使用docker 命令搜索oracle 镜像,前提是已安装了Docker docker  search oracle 2.下载相应版本的oracle 镜像 docker pull sath89/o ...

  8. 无人机基于Matlab/Simulink的模型开发(连载一)

    "一切可以被控制的对象,都需要被数学量化" 这是笔者从事多年研发工作得出的道理,无论是车辆控制,机器人控制,飞机控制,还是无人机控制,所有和机械运动相关的控制,如果不能被很好的数学 ...

  9. C语言-查找一个元素在数组中的位置

    #include<stdio.h> #include <stdlib.h> #include <time.h> int search(int key, int a[ ...

  10. Ubuntu18.04安装NVIDIA显卡驱动

    1. 查看GPU型号 lspci | grep -i nvidia 我是 GeForce GTX 960M 2. NVIDIA官网下载驱动: https://www.nvidia.com/Downlo ...