获取不同时区的日期戳(Windows命令行)

获取不同时区的日期戳(Windows命令行),windows,batch-file,timestamp,Windows,Batch File,Timestamp,我将来需要7小时的邮戳 我目前有一个解决方案,但它需要更改系统日期,这是不理想的。有人知道如何在不改变时区的情况下做到这一点吗 当前方法(我的时区为PST,亚速尔群岛为+7小时): 这适用于批处理文件中的VBS脚本 @echo off set TmpFile="%temp%.\tmp.vbs" echo> %TmpFile% n=Now echo>>%TmpFile% s=DateAdd("h", 7, n) echo>>%TmpFile% Ws

我将来需要7小时的邮戳

我目前有一个解决方案,但它需要更改系统日期,这是不理想的。有人知道如何在不改变时区的情况下做到这一点吗

当前方法(我的时区为PST,亚速尔群岛为+7小时):


这适用于批处理文件中的VBS脚本

  @echo off
  set TmpFile="%temp%.\tmp.vbs"
  echo> %TmpFile% n=Now
  echo>>%TmpFile% s=DateAdd("h", 7, n)
  echo>>%TmpFile% Wscript.Echo "set plus7=" ^& s
  cscript //nologo "%temp%.\tmp.vbs" > "%temp%.\tmp.bat"
  call "%temp%.\tmp.bat"
  del  "%temp%.\tmp.bat"
  del  %TmpFile%
  set TmpFile=
  set "stamp=%plus7:~6,4%-%plus7:~3,2%-%plus7:~0,2%.%plus7:~11,2%_%plus7:~14,2%_%plus7:~17,2%"

  echo "%plus7%"  
  echo "%stamp%"  


  pause

这适用于批处理文件中的VBS脚本

  @echo off
  set TmpFile="%temp%.\tmp.vbs"
  echo> %TmpFile% n=Now
  echo>>%TmpFile% s=DateAdd("h", 7, n)
  echo>>%TmpFile% Wscript.Echo "set plus7=" ^& s
  cscript //nologo "%temp%.\tmp.vbs" > "%temp%.\tmp.bat"
  call "%temp%.\tmp.bat"
  del  "%temp%.\tmp.bat"
  del  %TmpFile%
  set TmpFile=
  set "stamp=%plus7:~6,4%-%plus7:~3,2%-%plus7:~0,2%.%plus7:~11,2%_%plus7:~14,2%_%plus7:~17,2%"

  echo "%plus7%"  
  echo "%stamp%"  


  pause
这是非常容易使用的实用工具是纯脚本,将运行在任何现代Windows机器从XP开始-无需第三方可执行文件

脚本中内置了完整的文档。它有很多选项来指定给定的时间戳(或使用当前本地日期/时间)、添加日期和时间偏移、指定时区以及格式化结果

在我看来,您希望您的日期采用YYYYMMDD格式。假设当前目录中有getTimeStamp.bat,或者更好,在路径中的某个位置,那么从命令提示符发出的以下命令将在未来7小时打印出日期:

getTimeStamp -oh +7 -f {yyyy}{mm}{dd}
在批处理文件中使用它并将结果存储在
dt
变量中

call getTimeStamp -oh +7 -f {yyyy}{mm}{dd} -r dt
如果知道所需的时区(相对于GMT),则可以指定时区偏移,而不是与本地时间的偏移。我相信亚速尔群岛是GMT-60分钟,所以你可以使用:

call getTimeStamp -z -60 -f {yyyy}{mm}{dd} -r dt
这是非常容易使用的实用工具是纯脚本,将运行在任何现代Windows机器从XP开始-无需第三方可执行文件

脚本中内置了完整的文档。它有很多选项来指定给定的时间戳(或使用当前本地日期/时间)、添加日期和时间偏移、指定时区以及格式化结果

在我看来,您希望您的日期采用YYYYMMDD格式。假设当前目录中有getTimeStamp.bat,或者更好,在路径中的某个位置,那么从命令提示符发出的以下命令将在未来7小时打印出日期:

getTimeStamp -oh +7 -f {yyyy}{mm}{dd}
在批处理文件中使用它并将结果存储在
dt
变量中

call getTimeStamp -oh +7 -f {yyyy}{mm}{dd} -r dt
如果知道所需的时区(相对于GMT),则可以指定时区偏移,而不是与本地时间的偏移。我相信亚速尔群岛是GMT-60分钟,所以你可以使用:

call getTimeStamp -z -60 -f {yyyy}{mm}{dd} -r dt

看一看答案好的脚本@Unclesmeat,但它不包括日期。Angel Eyes,你可能可以使用一个包在批处理文件中的VBS脚本来计算未来7小时的时间。看看那里的答案好的脚本@Unclesmeat,但它不包括日期。Angel Eyes,您可能可以使用打包在批处理文件中的VBS脚本来计算未来7小时的时间。