我发现我可以通过
获得下一个营业日期(Get-date)+"$(1+$(@(1,2-eq7-(Get-date).dayofweek)))"
但它采用长日期格式
我发现我可以用以下格式设置日期格式:
Get-Date -format "yyyyMMdd";
但我怎样才能将这两者结合起来呢?
我试过
(Get-date)+"$(1+$(@(1,2-eq7-(Get-date).dayofweek)))" -format 'yyyyMMdd'
没有运气!那我该怎么做呢。
我的目标是将值存储在变量中,但是会在下一个工作日添加。
$sdATE = Get-Date -format "yyyyMMdd";
答案 0 :(得分:1)
有一种误解,即日期类型的变量具有格式。
当输出日期类型的变量时,它会应用默认日期格式或明确定义的日期格式。
$sdATE = Get-Date -format "yyyyMMdd"
您的上一个命令会将日期转换为字符串,因此无需再次将其转换为日期(无论是显式还是显式),您都无法使用它进行计算。
> $sdATE.gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
要让您的营业日期公式输出所需的格式,您可以使用附加到包含整个公式的一对括号的.ToString()
方法。
PS> ((Get-date)+"$(1+$(@(1,2-eq7-(Get-date).dayofweek)))").ToString('yyyyMMdd')
20170817