如何在powershell中使用包含日期的变量来表示get-date函数?我有一个包含2016-09-08的变量$ date。我想从$ date减去一天。就像是:
$date = "2016-09-08"
$date.AddDays(-1)
它不起作用。
“2016-09-08”是一个字符串。您需要将其转换为日期时间对象。有几种方法可以执行此操作,但下面是将字符串传递给Get-Date cmdlet的示例。
$date = Get-Date "2016-09-08"
$date.AddDays(-1).ToString("yyyy-MM-dd")
有关所有可用选项的更多详细信息,请参阅Custom Date and Time Format Strings。
单行转换和减法。
(Get-Date $date).AddDays(-1)
你的变量是String。运行$date.gettype()
它将输出字符串。
$date = "2016-09-08"
$date.gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
为了能够使用日期时间函数,您需要一个日期时间变量。
$date = get-date("2016-09-08")
$date.gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Datetime System.Object
$date.adddays(-1)
Wednesday, September 7, 2016 12:00:00 AM
然后你就可以开始使用你选择的格式了。