将DateTime数据转换为数据集中的String

时间:2009-05-14 10:23:05

标签: asp.net c#-2.0 dataset

我有一个数据集,用于在DataColumn中存储日期(此列的数据类型为DateTime)。我需要将格式从DateTime更改为字符串,这将根据我当前的文化给出日期。

如果是单个DateTime变量,我可以使用重载的ToString()以下列方式实现此目的:

DateTime.Now.ToString(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern)

但我需要将DataSet中所有行的数据转换为字符串。有没有人知道如何实现这个目标?

感谢。

5 个答案:

答案 0 :(得分:5)

获取DataSet时:

  • 找到合适的DataTable
  • 添加新的DataColumn
  • 在一个循环中,使用(您的DateTime).ToString()
  • 填充新列

答案 1 :(得分:1)

  1. 获取数据集。
  2. 为每行转换为字符串和 把它放在新的数据集中(以及 其余数据)。

答案 2 :(得分:0)

我不认为在填充表格后可以更改列类型。我认为您应该在数据集上创建第二个表,并复制您在此过程中转换日期所需的信息。

答案 3 :(得分:0)

新答案:)

我一直在谷歌上搜索这个网站:Linq to Dataset

该示例显示了如何在数据集上使用linq,我猜您可以使用查询来执行数据转换并将其放在新数据表上。不确定它是否会比循环表现更好

答案 4 :(得分:0)

如果我是你,我会将数据保存在DataTable中。毕竟,有意义的数据会在转换时失去意义。我只在显示/渲染数据时才进行任何所需的修改,因为这隐含地要求将数据转换为字符串(使用可选格式)。

任何DateTime变量都可以使用简单代码呈现为字符串(具有区分文化格式):

DateTime.Now.ToShortDateString();
// Or
DateTime.Now.ToString("d");

此功能已使用从当前文化派生的格式信息。

我真的建议你再看看你的场景来评估你是否真的需要改变数据集本身的数据数据类型。 (或向我们提供更多信息)