如何在C#中将日期(从日期时间输入字段)转换为另一种日期格式?

时间:2013-10-30 09:45:28

标签: c# date datetime-format date-conversion

我有日期时间输入字段,从我拍摄日期并将其转换为另一种格式,我的代码

try
{
    DateTime dt = dtiFrom.Value.Date;
    string format = "DD-MM-YYYY"; // Use this format
    MessageBox.Show(dt.ToString(format)); // here its shows result as DD-10-YYYY
    DateTime dt1 = Convert.ToDateTime(dt.ToString(format)); // here Error "The string was not recognized as a valid DateTime. There is an unknown word starting at index 0."
}
catch (Exception ee)
{
    MessageBox.Show(ee.Message, "Error Message!");
}

我无法根据格式转换日期。请任何机构帮我代码或建议我一些代码。提前谢谢

2 个答案:

答案 0 :(得分:5)

您的格式应如下所示:

string format = "dd-MM-yyyy";

Casing对于字符串格式很重要,您可能会认为月份使用大写很奇怪,但这是因为小写mmm用于表示分钟。

请注意,输出显示DDYYYY的原因是因为任何未保留为格式字符的字符都将输出而不会更改。大写DY未保留,这就是它们显示在输出中的原因,就像-保持不变一样。

如果您希望输出保留格式字符,则可以使用\转义它们。

See here for a full list of date and time format values

答案 1 :(得分:1)

应更改日期格式格式,并且最好使用TryParseExact而不是使用转换

DateTime dt = dtiFrom.Value.Date;
string format = "dd-MM-yyyy";
DateTime dt1 = new DateTime();

if (DateTime.TryParseExact(dt , format, null , DateTimeStyles.None, out dt1))
{
  // you can use dt1 here
}
else
{
  MessageBox.Show("Error Massage");
}