繁体   English   中英

将字符串解析为日期时间格式

[英]Parse a string to datetime format

我在这里有一个小问题,想知道我的错误在哪里以及如何纠正它。

string preConvDATE = monthCombobox2.Text + " " + datecombobox2.Text + ","+ "0000";
//lets say the comboboxes contain something like this "January 1";

DateTime DT = DateTime.ParseExact(preConvDATE, "MMMM d, yyyy 00:00:00", System.Globalization.CultureInfo.InvariantCulture);
string strDate = DT.ToString("yyyy-mm-dd");
    try
    {
       //code that inserts strDate to a column in Mysql DB
    }
    catch
    {
      //msg
    }

为什么是“ 0000”呢? 因为我确实打算只存储月份和日期,但是意识到我可以将其存储为带有一年的日期时间格式,然后在查看表时只使用串联的Mysql MONTH()和DATE()函数从monthCombobox2datecombobox2查看存储的月份和日期。

我也尝试过:

Convert.ToDateTime()

但仍然行不通。

如何正确解析MMMM d,yyyy日期格式,以便我可以再次将其转换为yyyy-mm-dd并将其存储为datetime格式在数据库中? 非常感谢 :)

如我所见,您正在使用文本框来捕获月份和日期的值,而不是使用下拉列表,该下拉列表将显示月份名称,但返回值,如01表示一月,依此类推。 您可以轻松格式化日期格式。 您不希望保存年份,可以设置当前年份,而不是设置0000。 现在的问题是您将无法确定确切的日期(例如星期日,星期一等)。

string preConvDATE = monthCombobox2.Text + "/" + datecombobox2.Text+"/" + DateTime.Now.Year.ToString();
DateTime DT = DateTime.ParseExact(preConvDATE, "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);

string strDate = DT.ToString("yyyy-MM-dd");

我希望这能解决您的问题。 编码愉快!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM