使用批处理文件,您可以通过转换“函数”以非常简单的方式将日期转换为儒略日数,然后以您希望的任何方式使用该数字:
@echo off
setlocal EnableDelayedExpansion
rem Define the "Date to Julian Day Number" conversion function
set "DateToJDN(YMD)=( a=(YMD), y=a/10000, a%%=10000, m=a/100, d=a%%100, a=(m-14)/12, (1461*(y+4800+a))/4+(367*(m-2-12*a))/12-(3*((y+4900+a)/100))/4+d-32075 )"
rem Get the JDN of today's date
for /F "tokens=1-3 delims=/" %%a in ("%date%") do set /A "today=!DateToJDN(YMD):YMD=%%c%%a%%b!"
rem Get the JDN of each file, subtract it from today's JDN and show the elapsed days
for %%f in (*.csv) do for /F "tokens=1-3 delims=/ " %%a in ("%%~Tf") do (
set /A "daysOld=today - !DateToJDN(YMD):YMD=%%c%%a%%b!"
echo !daysOld! - %%f
)
例如,使用这些文件:
07/04/2018 07:45 p. m. 135 data.csv
07/04/2018 07:45 p. m. 79 data_1.csv
07/04/2018 07:45 p. m. 65 data_2.csv
06/02/2018 07:41 p. m. 104 file1.csv
03/06/2017 06:02 p. m. 5,534 file2.csv
14/04/2018 10:49 p. m. 2,674 HCT_ACT_01.csv
14/04/2018 10:49 p. m. 714 HCT_ACT_02.csv
14/04/2018 10:49 p. m. 2,010 HCT_ACT_03.csv
21/03/2018 09:15 p. m. 313 msource1.csv
21/03/2018 09:16 p. m. 402 msource2.csv
21/03/2018 09:16 p. m. 402 msource3.csv
06/10/2017 09:18 p. m. 156 output.csv
03/06/2017 06:11 p. m. 2,017 Reconresult.csv
21/03/2018 09:41 p. m. 491 result.csv
20/12/2017 12:25 a. m. 305 source.csv
这是输出:
135 - data.csv
135 - data_1.csv
135 - data_2.csv
195 - file1.csv
443 - file2.csv
128 - HCT_ACT_01.csv
128 - HCT_ACT_02.csv
128 - HCT_ACT_03.csv
152 - msource1.csv
152 - msource2.csv
152 - msource3.csv
318 - output.csv
443 - Reconresult.csv
152 - result.csv
243 - source.csv
注意:显示的文件数据使用DD/MM/YYYY
日期格式,但日期格式的代码是正确的MM/DD/YYYY
。如果您的格式不同,只需调整%%c%%a%%b
代码中的部分即可。