如何将dd / mm / yyyy转换为dd / mm / yyyy

时间:2012-06-25 00:21:56

标签: c# datetime date

我对字符串转换有疑问。 我有一个文本框,用户将输入这种格式的日期(年/月/日)。

现在我必须将其转换为MySQL友好。

到目前为止,这就是我所做的

currentExpDate = txtDateStore.txt; //(i.e 25/12/13)
MessageBox.Show(currentExpDate.ToString()); // for debugging
//DateTime dt = DateTime.Parse(currentExpDate);
DateTime dt = DateTime.ParseExact(
    currentExpDate,
    "dd/MM/yyyy",
    CultureInfo.InvariantCulture);
string mySQLDate = dt.ToString("yyyy-MM-dd");

每当我尝试解析它时,它总是会抛出错误。我得到字符串异常,表示字符串格式是它无法识别的格式。

如果我尝试使用这种格式dd / mm / yyyy输入日期,它就像一个魅力。有没有解决方法可以解决这个问题?

感谢

2 个答案:

答案 0 :(得分:6)

您应该直接将日期作为DateTime存储在数据库中。没有理由将其转换回字符串。

答案 1 :(得分:3)

我可能在这里遗漏了一些东西,但是使用“dd / MM / yy”格式创建了DateTime对象然后 使用“yyyy-MM-dd”将DateTime转换为字符串似乎给了我一个你想要的格式的字符串..

enter image description here

要回答您的评论,我只使用您在问题中发布的代码,并将第一次转换的格式更改为“dd / MM / yy”。

String currentExpDate;
currentExpDate = txtDateStore.Text; //(i.e 25/12/13) 
MessageBox.Show(currentExpDate.ToString()); // for debugging 
//DateTime dt = DateTime.Parse(currentExpDate); 
DateTime dt = DateTime.ParseExact(
    currentExpDate,
    "dd/MM/yy",
    CultureInfo.InvariantCulture);
string mySQLDate = dt.ToString("yyyy-MM-dd");