使用 SORT 从日期中减去天数

Posted

技术标签:

【中文标题】使用 SORT 从日期中减去天数【英文标题】:Subtract days from date with SORT 【发布时间】:2016-02-19 05:32:41 【问题描述】:

我想使用 SyncSORT 从给定的输入日期中减去一天?输入日期为YYYYMMDD格式。

Input date: 20111031 (Format: YYYYMMDD)
Output date after minus 1 day: 20111030 (Format: YYYYMMDD). 

【问题讨论】:

【参考方案1】:

这适用于 DFSORT。它不适用于最高 1.4.x 的 SyncSORT。它可以与 SyncSORT(Mainframe Express,或 MFX)2.x 一起工作(让我们知道),甚至可以在没有记录的情况下工作。或者不。

SORT FIELDS=COPY                                      
INREC OVERLAY=(1:1,8,Y4T,SUBDAYS,+1,TOGREG=Y4T)

也许对你有帮助。

【讨论】:

【参考方案2】:

使用 SyncSORT 的日期算法与使用 DFSORT 的有很大不同(至少到 1.4.x,谁知道以后的版本?)

这表示,“将结果放入当前记录的第一列,位置为 8,长度为 8,格式为四位数的年份,后跟两位数的月份和两位数的日期,添加使用函数 DATEADD 加减一个单位(即减去),这些单位是天。结果将与源格式相同。

SORT FIELDS=COPY                                      
INREC OVERLAY=(1:DATEADD=(1,8,DT=(4MD),-1,DAY))

可以表示多种输入格式,并且有多种描述单位的选项(根据输入的格式有效)。输入格式可以用分隔符来描述,这些将保留在输出中。

【讨论】:

以上是关于使用 SORT 从日期中减去天数的主要内容,如果未能解决你的问题,请参考以下文章

从日期中添加或减去天数的算法?

如何在 TypeScript 中从日期中减去天数

如何从普通日期中减去天数?

如何使用 postgresql/netezza 从日期时间中减去天数或月数

如何从/到日期减去/添加天数?

如何从用户在android studio中提供的日期中减去固定天数?