我想将dd/MM/yyyy
转换为MM/dd/yyyy
。
我的代码:
string g = "20-1-1999";
DateTime dt = DateTime.ParseExact(g, "dd/MM/yyyy", CultureInfo.InvariantCulture);
错误讯息:
字符串未被识别为有效的DateTime。
答案 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”自定义格式说明符将月份表示为来自的数字 01到12(或从1到13,有13个日历 个月)。使用前导零MSDN
格式化一位数月份
“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");