我在文本文件中有一个日期集合。
例如。文件.txt
2011-01-01
2011-02-14
2011-02-21
2011-03-17
2011-09-11
2011-11-11
我有一个名为 Important-Dates
的函数,它包含 [datetime]
日期的集合
例如。函数保存这些类型的日期
November-11-15 12:00:00 AM
November-11-14 12:00:00 AM
November-11-13 12:00:00 AM
February-14-15 12:00:00 AM
我想将函数日期转换为yyyy-mm-dd
格式并附加到file.txt文件
到目前为止,我有这个:
$Dates = Important-Dates
if ( -not (test-path 'file.txt' -pathtype leaf))
{
"{0:yyyy-MM-dd}" -f $Dates | Set-Content 'file.txt'
exit 1
}
else {
"{0:yyyy-MM-dd}" -f @($_.$Dates) | Add-Content 'file.txt'
exit 1
}
我从 File.txt 文件得到的结果是重要日期列表中的第一个日期
“November-11-15 12:00:00 AM”
- 会转换为 2015-11-11
不过我想要所有日期。我做错了什么?
最佳答案
向-f
提供集合将仅使用集合中的第一个元素。您想要处理集合中的每个日期对象。
要处理集合中的每个对象,您可以使用 foreach-object :
$Dates | ForEach-Object -Process { "{0:yyyy-MM-dd}" -f $_ } | set-content 'file.txt'
}
...或更简洁地说:
$Dates | % { "{0:yyyy-MM-dd}" -f $_ } | Set-Content 'file.txt'
关于datetime - 将日期时间集合转换为 yyyy-mm-dd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22703547/