在 PowerShell 中将其他区域日期时间格式转换为本地日期时间格式
Converting other zone date time format to local date-time format in PowerShell
我正在尝试执行日期时间比较。
日志文件中的日期时间- 2015 年 8 月 4 日星期二 17:05:41
来自 get-date 命令的本地系统日期时间 -
6. elokuuta 2015 10:18:47
现在是 2015 年 8 月 6 日 10:18:47 我在 Google 上翻译了它。
如何转换这种 date/time 格式,以便进行比较?
我尝试了多种方法和选项,但没有成功。
到目前为止我的脚本:
# To get today's date
$Today=[datetime]::Today
# Output is 6. elokuuta 2015 0:00:00
$log_date = "Tue Aug 4 17:05:41 2015"
我在某处读到过使用 new-object system.globalization.datetimeformatinfo
它可以实现,但我不知道如何用它来改变当前的日期时间。 https://technet.microsoft.com/en-us/library/ff730960.aspx
[DateTime]
对象没有格式。自某个时间点 (01/01/0001 00:00:00.0000000) 以来,它仅过去了 ticks
(0.0000001 秒)。该格式只需要将 [DateTime]
对象保存为字符串或将其显示给用户,因为 635744160000000000 ticks
对用户而言并不是真正可以理解的。
您只需解析字符串以获得 [DateTime]
对象:
$log_date = [datetime]::ParseExact('Tue Aug 4 17:05:41 2015','ddd MMM d HH:mm:ss yyyy',[cultureinfo]::InvariantCulture,'AllowInnerWhite')
现在您有两个 [DateTime]
对象,您可以比较它们:
$Today -eq $log_date
$Today -lt $log_date
$Today -gt $log_date
或者找出它们之间的区别:
$Today - $log_date
我正在尝试执行日期时间比较。
日志文件中的日期时间- 2015 年 8 月 4 日星期二 17:05:41
来自 get-date 命令的本地系统日期时间 -
6. elokuuta 2015 10:18:47
现在是 2015 年 8 月 6 日 10:18:47 我在 Google 上翻译了它。
如何转换这种 date/time 格式,以便进行比较?
我尝试了多种方法和选项,但没有成功。
到目前为止我的脚本:
# To get today's date
$Today=[datetime]::Today
# Output is 6. elokuuta 2015 0:00:00
$log_date = "Tue Aug 4 17:05:41 2015"
我在某处读到过使用 new-object system.globalization.datetimeformatinfo
它可以实现,但我不知道如何用它来改变当前的日期时间。 https://technet.microsoft.com/en-us/library/ff730960.aspx
[DateTime]
对象没有格式。自某个时间点 (01/01/0001 00:00:00.0000000) 以来,它仅过去了 ticks
(0.0000001 秒)。该格式只需要将 [DateTime]
对象保存为字符串或将其显示给用户,因为 635744160000000000 ticks
对用户而言并不是真正可以理解的。
您只需解析字符串以获得 [DateTime]
对象:
$log_date = [datetime]::ParseExact('Tue Aug 4 17:05:41 2015','ddd MMM d HH:mm:ss yyyy',[cultureinfo]::InvariantCulture,'AllowInnerWhite')
现在您有两个 [DateTime]
对象,您可以比较它们:
$Today -eq $log_date
$Today -lt $log_date
$Today -gt $log_date
或者找出它们之间的区别:
$Today - $log_date