Powershell从变量日期减去1天

问题描述 投票:1回答:3

如何在powershell中使用包含日期的变量来表示get-date函数?我有一个包含2016-09-08的变量​​$ date。我想从$ date减去一天。就像是:

$date = "2016-09-08"
$date.AddDays(-1)

它不起作用。

powershell
3个回答
2
投票

“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


2
投票

单行转换和减法。

(Get-Date $date).AddDays(-1)

0
投票

你的变量是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

然后你就可以开始使用你选择的格式了。

© www.soinside.com 2019 - 2024. All rights reserved.