0

我想知道如何将 DateTime 格式更改为另一种格式。我的意思是,我在字符串中得到一个值,它将表示添加到 Typed DataTable 中的 DateTime 值,但在添加 DataRow 时出现错误

dr[i] = value;
dt.Rows.Add(dr);

该字段的列是这样设置的。

DataColumn dc = new DataColumn("CreateDate", typeof(System.DateTime));
dt.Columns.Add(dc);

所以,我收到这个值“30-01-1984”然后崩溃!!!所以。想象一下,我现在定义了 2 种日期时间格式。我想配置这种格式来告诉我的应用程序我将收到这种格式“MM-dd-yyyy”并将其更改为这种格式“yyyy-MM-dd”。所以我想将我的字符串值解析为第一种格式,然后验证是否可以将其更改为新格式。

谢谢

4

1 回答 1

3

由于您获得了带DateTime值的格式化字符串,因此您必须在 .NetDateTime类型对象中解析它,使用DateTime.Parseor DateTime.ParseExact,(或DateTime.TryParse变体),例如:

string yourStringDate = "30-01-1984";
DateTime dateTimeObj = DateTime.ParseExact(yourStringDate, 
                                  "d-M-yyyy", 
                                   CultureInfo.InvariantCulture));

(我使用了单数dM它适用于单数日和月)

稍后将其添加到您的 DataTable 中。像:

DataRow dr = dt.NewRow();
dr["CreateDate"] = dateTimeObj;

我不确定您如何将日期作为字符串取回,如果您DateTime在数据库中存储为字符串,那么最好使用DateTime数据库提供的类型,而不是将日期保存为字符串。

于 2013-10-28T17:37:58.840 回答