datetime - 将日期时间集合转换为 yyyy-mm-dd

标签 datetime powershell

我在文本文件中有一个日期集合。

例如。文件.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/

相关文章:

powershell - 在powershell中是否有!$等效项?

r - 转换小时 :min:sec column of type character to time

php - 如何更改 'Timestamp' - MySql 中的列语言?

java - Java 无法读取从 Windows CA 存储导出的证书

powershell - 如何在 powershell 中测试与远程计算机的连接

powershell - 例如,Powershell 中有什么方法可以查找过去 1 小时内完成的 ADF 切片吗?

c# - 处理 SQL 时间数据类型

python - 是否有更优雅的方法来处理此抓取工具中的空值?

datetime - 程序集 A86 - 获取并显示时间

powershell - Powershell过滤输出文件