如何将DateTime格式更改为另一个C#

时间:2013-10-28 17:35:09

标签: c# datetime datatable format typeof

我想知道如何将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”。所以我想将我的字符串值解析为第一种格式,然后验证我是否可以将其更改为新格式。

由于

1 个答案:

答案 0 :(得分:3)

由于您获得的值为DateTime的格式化字符串,因此您必须使用DateTimeDateTime.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类型,而不是保留日期作为字符串。