我有日期时间输入字段,从我拍摄日期并将其转换为另一种格式,我的代码
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!");
}
我无法根据格式转换日期。请任何机构帮我代码或建议我一些代码。提前谢谢
答案 0 :(得分:5)
您的格式应如下所示:
string format = "dd-MM-yyyy";
Casing对于字符串格式很重要,您可能会认为月份使用大写很奇怪,但这是因为小写m
和mm
用于表示分钟。
请注意,输出显示DD
和YYYY
的原因是因为任何未保留为格式字符的字符都将输出而不会更改。大写D
和Y
未保留,这就是它们显示在输出中的原因,就像-
保持不变一样。
如果您希望输出保留格式字符,则可以使用\
转义它们。
答案 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");
}