将字符串转换为日期

时间:2013-10-13 06:16:54

标签: c# asp.net

我想将dd/MM/yyyy转换为MM/dd/yyyy

我的代码:

string g = "20-1-1999";
DateTime dt = DateTime.ParseExact(g, "dd/MM/yyyy", CultureInfo.InvariantCulture);

错误讯息:

  

字符串未被识别为有效的DateTime。

2 个答案:

答案 0 :(得分:3)

您必须在格式字符串中为月份提供单个M。您可以阅读有关格式说明符MM,here和M here的更多信息。您还需要使用-作为分隔符,而不是/

DateTime.ParseExact(g, "dd-M-yyyy", CultureInfo.InvariantCulture);

如果您希望每天使用单个数字,那么您也可以在一天内使用单个d

DateTime.ParseExact(g, "d-M-yyyy", CultureInfo.InvariantCulture);

“MM”自定义格式说明符

  

“MM”自定义格式说明符将月份表示为来自的数字   01到12(或从1到13,有13个日历   个月)。使用前导零MSDN

格式化一位数月份

“M”自定义格式说明符

  

“M”自定义格式说明符将月份表示为来自的数字   1到12(对于有13个月的日历,从1到13)。   格式化的单个数字月份没有前导零MSDN

答案 1 :(得分:2)

您的格式应为dd-M-yyyy

DateTime dt = DateTime.ParseExact(g, "dd-M-yyyy", CultureInfo.InvariantCulture);

var result = dt.ToString("MM/dd/yyyy");