以特定格式在C#中将字符串转换为日期时间
如果您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
值直接传递给您的参数。
使用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");
}
'mm'分钟,你应该用'MM'代替。 – 2014-11-11 07:19:43
大错误....是MM应该用几个月.... – Krishjs 2014-11-11 13:52:35
一个'DateTime'不*有*的格式 - 它只是一个日期和时间。而且不应该将它作为字符串传递给数据库......使用参数化SQL并直接将该参数的值设置为“DateTime”。 – 2014-11-01 09:32:41