如何在powershell中使用包含日期的变量来表示get-date函数?我有一个包含2016-09-08的变量$ date。我想从$ date减去一天。类似的东西:
$date = "2016-09-08"
$date.AddDays(-1)
它不起作用。
答案 0 :(得分:2)
单行转换和减法。
(Get-Date $date).AddDays(-1)
答案 1 :(得分: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。
答案 2 :(得分: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
然后您可以开始使用您选择的格式。
答案 3 :(得分:0)
扩展Mani Live的答案...以在常规批处理文件中使用:
for /F "usebackq" %%d in (`powershell -STA -ExecutionPolicy ByPass -command "echo ((Get-Date).AddDays(-10)).ToString(\"yyyy-MM-dd\")"`) do set ten_days_ago=%%d
答案 4 :(得分:0)
这个线程确实对我有很大帮助,这就是我想要做的。共享,以便其他人可以看到您可以使用Get-Date和AddDays做的更多事情。
CREATE INDEX idx_1 ON public.t USING btree (x)