2020-08-18 21:44发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
如果发票是在当月创建的,我需要进行API调用以获取发票。
但是,发票中的创建日期是Unix时间戳。
我的方法如下:
*将当前月份的第一天和最后一天的范围转换为Unix Timestamp并将其存储在属性中。
*在API查询中使用该属性进行提取。 因此,这将是每次IFlow运行的动态API调用。
因此,寻找常规脚本或其他更好的替代方法(如果有)。
此致
Pavan G
嗨Pavan
您的做法是正确的。 但是,细节在于细节。
如果API需要两个时间戳A和B,则该范围可能包括A,但是否不包括B? 即 是否找到时间戳A <= x
此外,还留下了实际查找问题 那些时间戳。 请记住,服务器可能不在您所在的时区中(也可能不在该时区中)。 因此,请确保明确声明您的时区。
下面是一些使用Java 8 java.time包查找时间戳的代码:
ZonedDateTime midnightToday = ZonedDateTime.now(ZoneId。 of(" UTC + 2"))。truncatedTo(ChronoUnit.DAYS) ZonedDateTime firstOfThisMonth = midnightToday.withDayOfMonth(1) ZonedDateTime firstOfNextMonth = firstOfThisMonth.plusMonths(1) long timestampLower = firstOfThisMonth.toEpochSecond() long timestampUpper = firstOfNextMonth.toEpochSecond()
记住要调整时区! 上面的UTC + 2是丹麦的:-)另外,该代码还要求以下导入:
import java.time.ZonedDateTime 导入java.time.ZoneId 导入java.time.temporal.ChronoUnit
让我知道它的工作原理。
问候,
Morten
您好莫滕·威特洛克,
在使用您的代码时,我错过了设置属性的权限。我更正了,它现在可以正常工作。非常感谢您向我提供代码。 这对我帮助很大。 :)
致谢, Pavan
最多设置5个标签!
嗨Pavan
您的做法是正确的。 但是,细节在于细节。
如果API需要两个时间戳A和B,则该范围可能包括A,但是否不包括B? 即 是否找到时间戳A <= x
此外,还留下了实际查找问题 那些时间戳。 请记住,服务器可能不在您所在的时区中(也可能不在该时区中)。 因此,请确保明确声明您的时区。
下面是一些使用Java 8 java.time包查找时间戳的代码:
记住要调整时区! 上面的UTC + 2是丹麦的:-)另外,该代码还要求以下导入:
让我知道它的工作原理。
问候,
Morten
您好莫滕·威特洛克,
在使用您的代码时,我错过了设置属性的权限。
我更正了,它现在可以正常工作。
非常感谢您向我提供代码。 这对我帮助很大。 :)
致谢,
Pavan
一周热门 更多>