如何将 07/26/13 等字符串转换为以下格式的 C#DateTime 变量? 2013-07-26 00:00:00 (Mysql datetime)
答案 0 :(得分:3)
如果您的CurrentCulture
有MM/dd/yy
作为标准日期和时间格式,则可以使用DateTime.Parse
method之类的;
DateTime date = DateTime.Parse("07/26/13");
如果不是,您可以使用DateTime.ParseExact
或DateTime.TryParseExact
方法使用自定义日期和时间格式解析字符串,例如;
string s = "07/26/13";
DateTime date;
if(DateTime.TryParseExact(s, "MM/dd/yy", CultureInfo.InvariantCulture,
DateTimeStyles.None, out date))
{
Console.WriteLine(date);
}
DateTime
没有任何隐式格式。它只有日期和时间值。它的字符串表示具有格式。您可以使用.ToString
方法格式化DateTime
;
date.ToString("yyyy-MM-dd HH:mm:ss");
顺便说一句,如果要向数据库中插入DateTime
值,则不应将其作为字符串插入。您应该使用parameterized queries并将DateTime
值直接传递给您的参数。
答案 1 :(得分:1)
使用TryParseExact.Before在发布问题之前自己尝试
string date_time = "07/26/13";
DateTime d;
if (DateTime.TryParseExact(date_time, "mm/dd/yy", new CultureInfo("en-US"),
DateTimeStyles.None,
out d))
{
date_time = d.ToString("yyyy-mm-dd hh:mm:ss");
}