在C#中转换日期时间

时间:2014-06-30 08:17:27

标签: c# sql datetime format

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

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

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

3 个答案:

答案 0 :(得分:1)

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

这就是你需要的东西

答案 1 :(得分:0)

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

使用它会返回当前日期和时间并根据您的格式进行转换。

答案 2 :(得分: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查询在数据库中设置字段,则不应传递字符串,而是使用参数化查询传递正确数据类型的参数。