当GMT更改为BST时,我的时间和日期标记目录是否会被覆盖?

时间:2018-03-22 15:12:21

标签: batch-file cmd

使用这篇文章“How to get UTC time with windows batch file”我创建了一个脚本,在做事时我可以为某些目录标记日期和时间......

REM *** Get time in UTC format, and set to variable called dame
for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do set %%x
set dame=%Year%-%Month%-%Day%_%Hour%-%Minute%

set rundir=%dame%

mkdir %rundir%

我的脚本还有其他部分,但它基本上创建了一个目录结构,如下所示:

2018-3-22_14-10 (parent folder)
 |- Sun_2018-3-22_14-10 (sub folder)
 |- Sat_2018-3-22_14-10 (sub folder)
 |- Fri_2018-3-22_14-10 (sub folder)
 |- Thu_2018-3-22_14-10 (sub folder)

 etc.

我在英国,当GMT改为BST时,我有一些测试要做这个周末。我将使用Task Scheduler每隔5或10分钟运行一次脚本。

我的问题如下;说脚本在本周末创建了一个目录:

2018-3-25_00-55 (parent folder)
 |- Sun_2018-3-25_00-55 (sub folder)
 |- Sat_2018-3-25_00-55 (sub folder)
 |- Fri_2018-3-25_00-55 (sub folder)
 |- Thu_2018-3-25_00-55 (sub folder)

 etc.

也就是说,3月25日星期日00:55运行。

BST从3月25日星期日01:00开始。我的文件夹会被覆盖吗?

我认为情况不会出于两个原因:

1)时钟正在进行,所以我看到的下一个父文件夹将是“2018-3-25_02-00”最糟糕的情况并没有覆盖?

2)但是,我使用UTC来自wmic,而不是本地服务器时间来获取日期/时间。所以记录的当地时间是02:00(UTC + 1小时)。当我使用UTC时,文件夹创建应保持UTC + 0hrs,因此我看到的下一个父文件夹将是“2018-3-25_01-00”?

遵循这个逻辑,当BST再次返回GMT时,我不应该担心过度写入,因为UTC不应该改变?

1 个答案:

答案 0 :(得分:0)

所以...周末的运行成功了,文件夹结构创建如下:

UTC vs Local time

“修改日期”跳了2个小时以反映GMT + 1小时(BST),文件夹名称反映UTC时间继续不受影响。

结论:如果在时区有夏令时调整;使用UTC可确保日期/时间连续性。