我想知道如何将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”。所以我想将我的字符串值解析为第一种格式,然后验证我是否可以将其更改为新格式。
由于
答案 0 :(得分:3)
由于您获得的值为DateTime
的格式化字符串,因此您必须使用DateTime
或DateTime.Parse
在(。DateTime.ParseExact
类型对象中解析它,(或{ {1}}变体)如:
DateTime.TryParse
(我使用了单string yourStringDate = "30-01-1984";
DateTime dateTimeObj = DateTime.ParseExact(yourStringDate,
"d-M-yyyy",
CultureInfo.InvariantCulture));
和d
,它可以用于单个数字日和月)
稍后在您的DataTable中添加它。像:
M
我不确定你是如何以字符串形式取回日期的,如果你将DataRow dr = dt.NewRow();
dr["CreateDate"] = dateTimeObj;
作为字符串存储在数据库中,那么最好使用数据库提供的DateTime
类型,而不是保留日期作为字符串。