2014-11-01 84 views
-4

如何将字符串(如07/26/13)转换为C#日期时间变量的格式如下? 2013年7月26日00:00:00(mysql的日期时间)以特定格式在C#中将字符串转换为日期时间

+1

一个'DateTime'不*有*的格式 - 它只是一个日期和时间。而且不应该将它作为字符串传递给数据库......使用参数化SQL并直接将该参数的值设置为“DateTime”。 – 2014-11-01 09:32:41

回答

3

如果您CurrentCultureMM/dd/yy作为一个标准的日期和时间格式,你可以使用DateTime.Parse method等;

DateTime date = DateTime.Parse("07/26/13"); 

如果不是的话,你可以使用DateTime.ParseExactDateTime.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

使用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"); 
} 
+0

'mm'分钟,你应该用'MM'代替。 – 2014-11-11 07:19:43

+0

大错误....是MM应该用几个月.... – Krishjs 2014-11-11 13:52:35

相关问题