2014-06-30 59 views
0

我有一个日期时间格式为“20/6/2014 12:45:00 PM”,我希望将其转换为我的SQL日期时间格式,例如:“2013-06-01 12:38:28.000 “C#中的日期时间转换#

DateTime date = DateTime.ParseExact("20/6/2014 12:45:00 PM", "dd/MM/yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); 

试过以上但它不起作用。错误 - 字符串未被识别为有效的日期时间。

+0

[给定DateTime对象,如何获得字符串格式的ISO 8601日期?](http://stackoverflow.com/questions/114983/given-a-datetime-object-how-do- i-get-a-iso-8601-date-in-string-format) – Tanner

+0

原始值是一个字符串还是已经是日期时间? – Steve

回答

0

它不工作,因为你使用字符串格式无效的字符串

"20/6/2014 12:45:00 PM" 

对于这种类型的字符串,你需要一个格式掩码像

"dd/M/yyyy hh:mm:ss tt" 

然而,它是如果输入日期存储在字符串中,并且想要将其转换为有效的DateTime变量,或者您有一个有效的DateTime变量并且希望以特定方式表示格式化日期的字符串,则不太清楚。

对于第一种情况

string validDate = "20/6/2014 12:45:00 PM"; 
DateTime t = DateTime.ParseExact(validDate, "dd/M/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); 

对于第二种情况

DateTime d = new DateTime(2014, 6, 20, 12, 45, 0); 
string validDate = d.ToString("yyyy-MM-dd h:mm:ss.fff"); 

注意但是,如果你想使用这个值通过INSERT/UPDATE查询来设置你的数据库中的字段您不应该传递字符串,而是使用传递正确数据类型参数的参数化查询。

1
string MysqlDateFormat = date.ToString("yyyy-MM-dd HH:mm:ss"); 

这里就是你需要

+0

Date是DateTime对象吗? – user3543512

0
string date=System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); 

使用这一点,将返回当前日期和时间,并根据您的格式转换。