我的数据表有一个'subscribeDate'列,其日期格式为MM / dd / yyyy hh:mm:ss格式。我想将此列中的所有日期更改为MM-dd-yyyy hh:mm:ss格式。有没有办法可以在不运行循环的情况下完成它?
答案 0 :(得分:4)
我希望DataTable
中的值属于DateTime
或DateTimeOffset
类型。
假设是这种情况,他们不会拥有格式。他们只是日期和时间。如何将它们转换为字符串取决于你。
如果他们不已经处于适当的数据类型,您应该尝试更改获取数据的方式。尽可能早地将它从字符串格式转换为更合适的数据类型,并且只在您真正需要时将其 back 转换为字符串。
您还没有解释如何显示DataTable
,但我知道的大部分方法都允许您指定格式字符串 - ,您可以在其中指定MM-dd-yyyy HH:mm:ss
格式。 (请注意HH
而不是hh
,以获得24小时。)
答案 1 :(得分:3)
如果你的应用程序中没有一些文化限制(我不知道你的应用程序是如何工作的),你应该能够这样做。 有点像这样:
myTable.Columns["Date"].Convert(
val => DateTime.Parse(val.ToString()).ToString("dd/MMM/yyyy"));
中找到转换功能