我想在powershell中声明一组日期,它不是一个连续的范围,所以我不能用循环做任何聪明的事情。
我已尝试使用数组表示法调用get-date,如下所示,但这会返回错误
iamRoleStatements:
- Effect: Allow
Action:
- ec2:DescribeInstanceStatus
Resource: <insert your resource here>
如何在powershell中声明日期数组?
答案 0 :(得分:3)
将每个Get-Date
包装在括号中:
$logDateList = @((Get-Date -Year 2017 -Month 08 -Day 22 -Hour 13),(Get-Date -Year 2017 -Month 08 -Day 20 -Hour 22))
答案 1 :(得分:3)
我认为你仍然应该使用一个循环来节省一些代码重复:
$logDateList = '20 Aug 2017 22:00','22 Aug 2017 22:13' | ForEach-Object { Get-Date $_ }
为避免地区性问题,使用文本数月的示例,但您可以以您喜欢的任何方式格式化您的日期。
答案 2 :(得分:2)
您可以将字符串转换为日期时间,如下所示:
[datetime]'2017-08-22 13:00'
制作你的数组
$logDateList = [datetime]'2017-08-22 13:00', [datetime]'2017-08-20 22:00'
如果您正在执行此操作,请将其设置为一个字符串日期数组,并转换为日期时间数组
[datetime[]] $logDateList = @(
'2017-08-22 13:00',
'2017-08-20 22:00'
)
我把它们放在ISO标准yyyy-MM-dd hh:mm中,以避免美国/英国解析混淆。