我对字符串转换有疑问。 我有一个文本框,用户将输入这种格式的日期(年/月/日)。
现在我必须将其转换为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输入日期,它就像一个魅力。有没有解决方法可以解决这个问题?
感谢
答案 0 :(得分:6)
您应该直接将日期作为DateTime存储在数据库中。没有理由将其转换回字符串。
答案 1 :(得分:3)
我可能在这里遗漏了一些东西,但是使用“dd / MM / yy”格式创建了DateTime
对象然后
使用“yyyy-MM-dd”将DateTime
转换为字符串似乎给了我一个你想要的格式的字符串..
要回答您的评论,我只使用您在问题中发布的代码,并将第一次转换的格式更改为“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");