Days between dates: Difference between revisions
Content added Content deleted
(Added PL/I-80 example) |
No edit summary |
||
Line 1,248: | Line 1,248: | ||
Days between 2090-01-01 and 2098-12-25 is 3280 days |
Days between 2090-01-01 and 2098-12-25 is 3280 days |
||
</pre> |
</pre> |
||
=={{header|FreePascal}}== |
|||
<syntaxhighlight lang="pascal">Program DaysBetweenDates; |
|||
{$mode ObjFPC}{$H+} |
|||
Uses dateutils,strutils; |
|||
Type Tarr = array of array Of string; |
|||
Const lst : Tarr = (('1902-01-01','1968-12-25'),('2019-01-01','2019-01-02'), |
|||
('2019-01-02','2019-01-01'),('2019-01-01','2019-03-01'), |
|||
('2020-01-01','2020-03-01'),('1995-11-21','1995-11-21'), |
|||
('2090-01-01','2098-12-25'),('1967-02-23','2024-03-21')); |
|||
Function strtodate(str : String) : tdatetime; |
|||
Begin |
|||
result := ScanDateTime('YYYYMMDD', DelChars(str, '-')); |
|||
End; |
|||
Var arr : array of string; |
|||
DaysBetw : integer; |
|||
Begin |
|||
For arr In lst Do |
|||
Begin |
|||
DaysBetw := DaysBetween(strtodate(arr[0]),strtodate(arr[1])); |
|||
writeln(arr[0],' - ',arr[1],' -> ',DaysBetw); |
|||
End; |
|||
End. |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
1902-01-01 - 1968-12-25 -> 24465 |
|||
2019-01-01 - 2019-01-02 -> 1 |
|||
2019-01-02 - 2019-01-01 -> 1 |
|||
2019-01-01 - 2019-03-01 -> 59 |
|||
2020-01-01 - 2020-03-01 -> 60 |
|||
1995-11-21 - 1995-11-21 -> 0 |
|||
2090-01-01 - 2098-12-25 -> 3280 |
|||
1967-02-23 - 2024-03-21 -> 20846</pre> |
|||