如何将ABAP时间戳转换为JAVA时间戳,原理是什么

首页 / 常见问题 / 低代码开发 / 如何将ABAP时间戳转换为JAVA时间戳,原理是什么
作者:低代码工具 发布时间:10-26 16:44 浏览量:2736
logo
织信企业级低代码开发平台
提供表单、流程、仪表盘、API等功能,非IT用户可通过设计表单来收集数据,设计流程来进行业务协作,使用仪表盘来进行数据分析与展示,IT用户可通过API集成第三方系统平台数据。
免费试用

将ABAP时间戳转换为JAVA时间戳的方法:1、解析;2、转换对象;3、转换为毫秒数;4、得到微秒数。原理是ABAP时间戳和JAVA时间戳都是指自1970年1月1日0时0分0秒到某个时间点之间的毫秒数,只是计算基准点不同。

一、将ABAP时间戳转换为JAVA时间戳的方法

1、解析

使用 Java 的 SimpleDateFormat 类来解析 ABAP 时间戳字符串,下面是代码示例:

String abapTimestamp = "20180531120501.123456";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss.SSSSSS");

2、转换对象

将 ABAP 时间戳转换为 Java 中的 Date 对象,下面是代码示例:

Date date = sdf.parse(abapTimestamp);

3、转换为毫秒数

使用 getTime() 方法将其转换为毫秒数,下面是代码示例:

long millis = date.getTime();

4、得到微秒数

如果 ABAP 时间戳没有微秒部分,可以将毫秒数乘以 1000 来得到对应的微秒数。下面是代码示例:

String abapTimestamp = "20190531120501";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = sdf.parse(abapTimestamp);
long micros = date.getTime() * 1000;

二、将ABAP时间戳转换为JAVA时间戳的原理

BAP 时间戳和 Java 时间戳都是表示从 1970 年 1 月 1 日 0 时 0 分 0 秒(UTC/GMT)起经过的毫秒数。它们只是数据类型和存储格式不同,所以可以互相转换。

在 ABAP 中,时间戳通常保存为字符串类型,格式为 YYYYMMDDhhmmss 或 YYYYMMDDhhmmss.uuuuuu,其中 YYYY 表示年份,MM 表示月份,DD 表示日期,hh表示小时,mm 表示分钟,ss 表示秒,uuuuuu 表示微秒。

在 Java 中,时间戳通常保存为长整型数据类型 long,表示从 1970 年 1 月 1 日 0 时 0 分 0 秒(UTC/GMT)起经过的毫秒数。

三、ABAP介绍

1、简介

ABAP(高级商务应用编程)是一种高级语言,由德国软件公司SAP开发。和最近引入的Java一起,ABAP主要用作SAP的编程。这个服务器软件是SAP NetWeaver平台的一部分,这个平台主要用来开发商务应用。ABAP支持有面向过程和面向对象。

2、历史

ABAP作为一种面向特定应用的第四代编程语言较早在20世纪80年代开发。它原本是作为一种报表语言应用在SAP R/2上,这是一个帮助大型公司在大型机上建立原材料管理和财务会计管理商务应用的平台。ABAP本来也是德语AllgemeinerBerichtsaufbereitungsprozessor的缩写,意思是“通用报表预处理器”。ABAP名列前茅次引入了“逻辑数据库”的概念,它在基本的数据库层提供了更高级的抽象。

ABAP编程语言最初被SAP的开发者用于开发SAP R/3平台。但它也被设计让SAP的客户用于增强SAP的软件应用–客户可以用ABAP编程开发自定义的报表和界面。这个编程语言对于程序员来说很容易学习但并不是一个非程序设计人员可以直接使用的工具。编写ABAP程序需要良好的编程技巧和关系数据库方面的知识,如果知道面向对象设计的概念更好。

虽然SAP较早于1992年就发布了R/3,但ABAP仍可以用于为R/3系统编写程序。在20世纪90年代,随着计算机硬件的发展,越来越多的SAP的应用软件和系统都用ABAP来实现。一直到2001年,几乎所有的基本功能都是由ABAP编程实现的。在1999年,SAP在发布R/3 4.6版的同时也发布了一个对ABAP的面向对象扩展,叫做ABAP Objects。SAP最新的开发平台NetWeaver同时支持ABAP和Java。

3、ABAP程序运行在哪里

所有的ABAP程序都驻留在SAP数据库里。他们不像Java或者C++程序那样存储在一个单独的外部文件里,在数据库里所有的ABAP代码都以两种形式存在:可以用ABAP workbench查看和编辑的源代码和由ABAP运行环境载入和解释的“编译”代码(技术上更精确地说是“产生”代码)。当一段ABAP源代码名列前茅次被调用时会隐含的进行代码产生。如果稍后源代码改变了或者程序访问的对象改变了(比如数据库的表添加了新的字段),产生代码就会自动重新产生。

ABAP程序在运行时系统(SAP核心的一部分)的控制下运行在SAP应用服务器里。运行时系统负责处理ABAP语句,控制显示的逻辑序列和响应事件(比如,用户按一下屏幕上的一个按钮)。ABAP运行时系统的一个关键组件是数据库接口,它把ABAP的数据库无关语句(“开放SQL”)变成底层数据库管理系统可以理解的语句(“本地SQL”)。数据库接口处理ABAP程序和关系数据库之间所有的通信;它也有一些其他的作用,比如把经常访问的数据缓存到应用服务器本地的存储器里。

4、ABAP Workbench

ABAP Workbench有几个不同的工具用于编辑容器对象。这些工具可以为你提供涵盖整个软件开发周期各阶段的辅助。创建和编辑容器对象的最重要的工具有:

  • ABAP Editer:编写程序代码
  • ABAP Dictionary:处理数据库表定义,检索全局类型
  • Menu Painter:设计用户界面(包括菜单栏,标准工具栏,应用栏,配置功能键)
  • Screen Painter:为用户对话框设计屏幕(动态程序)
  • Function Builder:显示和处理功能模块
  • Class Builder:显示和处理ABAP对象类

延伸阅读1:ABAP在线程序

在线程序(也叫模块池)不产生列表。这些程序使用一系列的屏幕来定义更复杂的用户交互模式。术语“屏幕”是指用户看到的实际的物理图像。每个屏幕还有一个“流逻辑”;这是指由屏幕触发的ABAP代码,比如初始化屏幕,响应用户请求的应答和控制模块池的屏幕之间的序列的逻辑。每个屏幕都有自己的流逻辑,每个流逻辑都分为“PBO”(输出前处理)和“PAI”(输入后处理)部分。在SAP的文档中,术语“dynpro”(动态程序)用来表示这种屏幕和流逻辑的结合。

最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。

最近更新

开发公司团队架构表怎么写
11-17 13:54
网站开发公司怎么做账
11-17 13:54
网站开发公司怎么找
11-17 13:54
如何选择软件定制开发公司
11-17 13:54
在Timing这款App的开发公司—武汉氪细胞 工作是什么体验
11-17 13:54
网站开发公司名称怎么起名
11-17 13:54
怎么选择专业网站开发公司
11-17 13:54
天津有什么好的APP外包开发公司吗
11-17 13:54
app开发公司怎么选择
11-17 13:54

立即开启你的数字化管理

用心为每一位用户提供专业的数字化解决方案及业务咨询

  • 深圳市基石协作科技有限公司
  • 地址:深圳市南山区科技中一路大族激光科技中心909室
  • 座机:400-185-5850
  • 手机:137-1379-6908
  • 邮箱:sales@cornerstone365.cn
  • 微信公众号二维码

© copyright 2019-2024. 织信INFORMAT 深圳市基石协作科技有限公司 版权所有 | 粤ICP备15078182号

前往Gitee仓库
微信公众号二维码
咨询织信数字化顾问获取最新资料
数字化咨询热线
400-185-5850
申请预约演示
立即与行业专家交流