gpt4 book ai didi

c# - DataTable 按确切日期时间选择

转载 作者:行者123 更新时间:2023-11-30 13:37:03 32 4
gpt4 key购买 nike

我有一个 DataTable xData,它有一个精度为毫秒的 DateTime 列,我需要提取与毫秒精确时间匹配但语法不正确的行.

我试过了

DateTime dt = timeStampList[i];
string str = dt.ToString("yyyy-MM-dd HH:mm:ss.fff");
DataRow[] result = xData.Select("TimeStamp2 = " + str);

foreach (DataRow row in result)
{
Console.WriteLine("{0}, {1}", row[0], row[1]);
}

但是

DataRow[] result = xData.Select("TimeStamp2 = " + str);

导致错误:

Syntax error: Missing operand after '16' operator.

我已经搜索过,但大多数示例只展示了如何按日期选择,而不是完整的 datetime 以毫秒为单位。

最佳答案

问题是您必须将要查找的日期/时间传递给过滤器。

起初我以为 Select 不支持亚秒级精度,但根据 Dmitry 的回答,它支持。

另一种方法是使用 Linq to DataSet这使您可以避免序列化日期/时间:

DateTime dt = timeStampList[i];

IEnumerable<DataRow> selectedRows =
xData.AsEnumerable().Where(row => (row.Field<DateTime>("TimeStamp2") == dt));

foreach (DataRow row in selectedRows)
{
Console.WriteLine("{0}, {1}", row[0], row[1]);
}

关于c# - DataTable 按确切日期时间选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26454586/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com