`
JerryWang_SAP
  • 浏览: 1025808 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

如何计算CDS view里两个时间戳之间的天数间隔

阅读更多

ABAP透明表里的时间戳,数据类型为dec:

 
 

有个需求:计算这两个时间戳之间的天数间隔,丢弃时间戳年-月-日8位后面的小时:分钟:秒。

举个例子:如果时间戳是20180918173132,丢弃173132,只保留20180918, 然后再计算天数间隔。

直接用CDS view的字符串操作函数substring是不行的,因为时间戳类型dec和substring期待的字符串类型不匹配。

 

解决方案:

先将时间戳字段类型从dec强制转换成abap.dats:

@AbapCatalog.sqlViewName: 'zproday'

@AbapCatalog.compiler.compareFilter: true

@AccessControl.authorizationCheck: #CHECK

@EndUserText.label: 'Day between'

define view zdate_day_between as select from comm_product {

key comm_product.product_id as prod_id,

comm_product.product_guid as prod_guid,

comm_product.valid_from as valid_from,

comm_product.valid_to as valid_to,

cast(substring(cast(valid_from as abap.char(32)),1,8) as abap.dats) as from_date,

cast(substring(cast(valid_to as abap.char(32)),1,8) as abap.dats) as to_date

}
 

然后再用CDS view标准的时间处理函数DATS_DAYS_BETWEEN:

@AbapCatalog.sqlViewName: 'zdbetw'

@AbapCatalog.compiler.compareFilter: true

@AccessControl.authorizationCheck: #CHECK

@EndUserText.label: 'Day between'

define view zc_date_day_between as select from zdate_day_between as host{

key host.prod_guid,

host.prod_id,

host.from_date,

host.to_date,

DATS_DAYS_BETWEEN(host.from_date, host.to_date) as no_of_days

}
 

测试结果:

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

 
0
0
分享到:
评论

相关推荐

    两个时间间隔的天数

    这段代码提供了一个JavaScript函数 `functionDateDiff`,用于计算两个日期字符串之间相隔的天数。 #### 函数解析 - **参数**: - `sDate1`:表示起始日期的字符串。 - `sDate2`:表示结束日期的字符串。 - 这两...

    利用时间戳获取间隔时间

    在“利用时间戳获取间隔时间”这个主题中,我们主要探讨如何通过编程计算两个时间点之间的时间差,以及如何将这个信息展示在用户界面(UI)上,以帮助用户理解时间间隔。 1. **时间戳的概念与类型** - 时间戳分为...

    Android 获取2个日期相差天数

    在Android开发中,有时我们需要计算两个日期之间的差值,例如计算两个生日之间相差多少天,或者确定一个事件距离现在还有多少天。这个任务可以通过编程实现,本文将详细讲解如何在Android环境中获取两个日期相差的...

    两个时间戳相差的时间差及判断

    两个时间戳相差的时间差及判断

    Labview 日期时间标识间隔计算天数或小时数,指定加长日期计算

    - 使用“减法”运算符(-)可以计算两个日期时间戳之间的差值,得到的结果是一个双精度数值,表示的是两个时间点之间的时间间隔(以秒为单位)。 - 要将这个时间间隔转换为天数,可以除以86400(一天的总秒数)。...

    php 计算两个时间戳相隔的时间的函数(小时)

    这个是可以具体到小时的php代码复制代码 代码如下:/* Author: 杨宇 yangyu@sina.cn */ //输入两个时间戳,计算差值,也就是相差的小时数,如返回2:10,则表示输入的两个时间相差2小时10分钟 function hours_min($...

    计算两个时间相差年月日时分秒.zip

    在这个名为"计算两个时间相差年月日时分秒.zip"的项目中,开发者创建了一个工具,能够精确地计算出两个日期之间的差值,以年、月、日、小时、分钟和秒的形式呈现。这个功能在多种场景下都非常实用,比如人力资源管理...

    DateHelper日期和时间戳之间的相互转换可用于浏览器和NodeJS

    - **时间差计算**:库可能还提供了计算两个日期之间差值的方法,如天数、小时数或分钟数。 ```javascript var date1 = new Date('2022-01-01'); var date2 = new Date('2022-01-31'); var daysDiff = ...

    比较两个日期之间相差的天数

    // 计算两个时间戳之间的差值,并转换为天数 long between_days = (time2 - time1) / (1000 * 3600 * 24); return Integer.parseInt(String.valueOf(between_days)); } ``` **解析**: 1. **初始化...

    VC求两个时间的间隔的天数.求天差

    在编程领域,尤其是在开发涉及到日期和时间处理的应用时,计算两个日期之间的差值,即天数间隔,是一项常见的任务。本篇文章将详细讲解如何在Visual C++环境下实现这个功能。 首先,我们需要理解C++标准库中提供的...

    RTSP时间戳计算工具

    总的来说,RTSP时间戳计算工具是一个强大的辅助工具,它结合了RTP、RTCP和NTP的技术,帮助解决实时流媒体中的时间同步问题,从而提供高质量的多媒体内容传输。通过深入理解和有效利用这些技术,可以显著提升流媒体...

    Python实现计算两个时间之间相差天数的方法

    这篇内容主要讲解了如何使用Python来计算两个日期之间相差的天数。Python的内置模块`datetime`提供了方便的日期和时间处理功能,包括创建、比较和操作日期。下面将详细介绍这个过程。 首先,我们需要导入`datetime`...

    android 时间戳

    - 计算两个时间戳之间的差距:通过减法操作可以直接得到两个时间戳的差值,代表两个时间点之间相隔的毫秒数。 4. **Android中的时间处理** - `java.time`包:从Java 8开始引入的新API,提供了更丰富的日期和时间...

    关于RTP时间戳及多媒体通信同步的问题

    根据视频帧时间戳,可以实现视频流内同步,通过视频帧时间戳可以计算出相邻视频帧的时间间隔,也就是视频帧之间的相对时间关系很容易通过时间戳来确定,按照这个间隔去呈现视频,就可以获得较好的效果。同理,音频流...

    Java计算两个日期时间之间的天数最简方法

    Java计算两个日期时间之间的天数最简方法 计算两个日期时间之间的天数是Java开发中的一项常见任务。Java提供了多种方法来实现这一功能,本文将介绍其中一种最简洁的方法。 在Java中,计算两个日期时间之间的天数...

    易语言时间戳操作模块源码

    3. **时间计算**:模块可能包含了对时间戳的加减运算,例如计算两个时间戳之间相差的秒数、分钟数、小时数或者天数,这对于处理时间间隔或者事件触发时的延迟计算非常重要。 4. **异常处理**:在编程过程中,错误...

    三菱PLC 高级技巧 ST语言实现 unix时间戳

    如果我们能以一个固定的时间点做为锚点,用一个固定的方法,能够计算出任何时间点相对于这个锚点的时间量,那么任何两个时间点之间的量也就很容易求出。 unix时间戳就是我们要找的东西。 这个程序是用ST语言实现 ...

    一个可以计算天数的软件

    "一个可以计算天数的软件"指的是一个专门设计用于计算两个日期之间相差天数的应用程序。这样的工具可以帮助用户快速、准确地执行日期相关的计算,无论是在日常生活中还是在专业工作中。 首先,我们来探讨一下日期和...

    计算2个日期之间的天数

    总结一下,计算两个日期之间的天数在JavaScript中主要涉及Date对象的使用,包括构造函数、getTime()方法和时间戳的计算。通过这些基础操作,你可以轻松地实现这一功能,并根据需要进行扩展。在编程实践中,不断提升...

Global site tag (gtag.js) - Google Analytics