ibm-midrange - as400 RPGLE 以 UNIX 纪元格式获取 UTC 时间
问题描述
还在学习RPG/as400。我需要以 UNIX 纪元格式获取 UTC 的当前日期和时间。在搜索如何将标准 dd/mm/yyyy hh:mm:ss 转换为 unix 格式时,我也没有太多运气。是否可以从 as400 中提取 UNIX 时间戳?
解决方案
当你与外界交流时,总是需要这样的事情,fe JWT(检查令牌是否过期)。
您也可以在没有 C 函数的情况下执行此操作:
**FREE
ctl-opt dftactgrp(*no) actgrp(*caller);
dcl-pr sys_getUtcOffset extproc('CEEUTCO');
offsetHours int(10);
offsetMinutes int(10);
offsetSeconds float(8);
feedback char(12) options(*omit);
end-pr;
dcl-c UNIX_EPOCH_START z'1970-01-01-00.00.00.000000';
main();
*inlr = *on;
dcl-proc main;
dcl-s uxts int(10);
dcl-s now timestamp;
dcl-s offsetHours int(10);
dcl-s offsetMinutes int(10);
dcl-s offsetSeconds float(8);
now = z'2020-04-15-00.00.00.000';
sys_getUtcOffset(offsetHours : offsetMinutes : offsetSeconds : *omit);
uxts = %diff(now : UNIX_EPOCH_START : *SECONDS) - offsetSeconds;
// Output : 1586908800
dsply %char(uxts);
end-proc;
推荐阅读
- reactjs - 如何验证我的组件中的一些输入?
- spring - 如何使用 Spring Boot 检测 API 请求是来自移动应用程序还是来自 Web
- c# - 从 MultipartFormDataContent 和 StreamContent 获取上传进度
- java - 在 glassfish4.1 上部署应用程序时出错
- c# - 在协程中值为真后无法返回字符串
- android - 如何在异步提交结果时观察 PagedList LiveData?
- ruby - Thread.abort_on_exception 在任何地方引发?
- sql - 计算日夜数的SQL查询
- python - 不记名令牌在 requests.post 授权标头中不起作用?
- unity3d - 我如何防止运动学对象不通过另一个刚体对象