datetime - 如何从日期时间格式的 CSV 中删除时间

标签 datetime powershell csv gam

我会尽量准确地描述这一点。我的 CSV 格式为:

email,            DayMade
email1@email.com, 2013-07-30T15:31:11.000Z
email2@email.com, 3013-07-31T15:31:15.0001

该报告每隔几天自动生成一次。我需要过滤它以删除所有超过一周的条目。我被告知使用命令:

$CutoffDate = (Get-Date).AddDays(-5)
$Data = Import-CSV "C:\gam\newestreport.csv" | `
Where-Object {$_.Date -as '[DayMade]' -lt $CutoffDate}

但是,这是返回错误,我认为这是由包含时间 (T15:31:11.0007) 引起的。

我不知道如何在留下日期的同时删除时间。

最佳答案

在您的 Where-Object 脚本 block 中,您需要将“DayMade”属性转换为 [DateTime] 对象。此外,在转换时,不要将要转换的类型括在引号中。

$CutoffDate = (Get-Date).AddDays(-5)
$Data = Import-CSV "C:\gam\newestreport.csv" | `
Where-Object {$_.DayMade -as [DateTime] -lt $CutoffDate}

关于datetime - 如何从日期时间格式的 CSV 中删除时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18728268/

相关文章:

windows - 根据特定标准 Windows 批处理文件提取特定行

sql - SQL 查询返回什么到 PowerShell 变量中?

java - 读取 CSV 文件并用 Java 组织数据

python - 保存的数据带有不需要的引号

c# - JSON.NET反序列化自定义日期格式

php - SQL查询根据年和月选择数据

c# - 将格式化的日期字符串转换为 DateTime(int,int,int,int,int,int) 以传递给函数

powershell - 如何在PowerShell中创建JSON?

php - 带有自定义 header 的 fputcsv

java - 将日期从字符串表示形式转换为数字表示形式,然后再转换回来