【发布时间】:2012-06-25 10:16:07
【问题描述】:
我有一个关于字符串转换的问题。 我有一个文本框,用户将以这种格式(dd/mm/yy)输入日期。
现在我必须对其进行转换,使其对 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 输入日期,它就像一个魅力。有什么办法可以解决这个问题吗?
谢谢
【问题讨论】:
-
dd/mm/yyyy into dd/mm/yyyy。在我看来没问题;) -
DateTime.ParseExact(currentExpDate, "dd/MM/yyyy" ...) 当您要求用户输入 dd/MM/yy 时?这不就是这里的差异吗?
-
其实用户需要输入商品的有效期,格式为mm/yy。但是我需要构建我的字符串,使其变为 dd/mm/yy,稍后我将不得不将其转换为 MySQL 友好格式(yyyy-mm-dd)
-
如果您将 dd/mm/yyyy 本地化为接受该格式,为什么它会对 MySQL 不友好?我对 MySQL 不太熟悉,但是使用 Informix,我们设置环境变量 DBDATE=DMY4/ 一切都很好!
-
@Frank,对不起,我在这里感到困惑。如果我将 dd/mm/yy 格式直接扔到 MySQL 中,我不确定它是否有效。我一会儿试试。