Windows批处理脚本中的时间转换器

时间:2015-02-07 10:15:57

标签: windows batch-file

我想在Windows批处理脚本中编写时间转换器。当我想设置约会时我会使用它(我想把它放在我的电子邮件内容中)。该脚本应该能够打印出以下行(理想情况下输出到剪贴板,文件也可以):

Beijing (China) TUE, January 16, 2016 at 8:00 AM
Seattle (U.S.A) MON, January 15, 2016 at 4:00 PM

首先,我发现windows date实用程序可以很好地打印出日期和时间,我想利用它。然后,在当前时间,我发现使用

tzutil /s "Pacific Standard Time_dstoff"
tzutil /s "China Standard Time"

是获取日期然后打印出来的简单方法。它将系统时间更改为太平洋时间,然后将其更改回中国标准时间。

但是,由于我没有权利来更改系统时间,因此我想知道为任何给定的新约会日期时间转换时间的最佳方法是什么。假设我想在北京时间2/19/2016 08:00设置预约,我怎样才能轻松地将以下行放入剪贴板?

Beijing (China) TUE, February 19, 2016 at 8:00 AM
Seattle (U.S.A) MON, February 18, 2016 at 4:00 PM

1 个答案:

答案 0 :(得分:1)

像Python这样的语言会起作用吗?

from datetime import datetime
from datetime import timedelta

now = datetime.now()

# This assumes Beijing is the local timezone
print(now.strftime('Beijing (China) %a, %B %d at %I:%M %p'))

# Seattle is 15 hours behind Beijing
now -= timedelta(hours = 15)
print(now.strftime('Seattle (U.S.A) %a, %B %d at %I:%M %p'))