Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用c在Mysql中将字符串值保存为Datetime_C#_Mysql - Fatal编程技术网

C# 如何使用c在Mysql中将字符串值保存为Datetime

C# 如何使用c在Mysql中将字符串值保存为Datetime,c#,mysql,C#,Mysql,我的mysql数据库表中有一列,数据类型为Datetime。现在我的c代码中有一个字符串,值为17/04/2014。所以我的问题是如何将该值插入我的Datetime列中 请帮帮我你可以这样做: string date="17/04/2014"; DateTime dt = Convert.ToDateTime(date); 下面的示例使用ParseExact方法将日期字符串转换为datetime 如果您可以保证日期始终采用给定的格式,则可以使用ParseExact 编辑 将命令文本替换为以下

我的mysql数据库表中有一列,数据类型为Datetime。现在我的c代码中有一个字符串,值为17/04/2014。所以我的问题是如何将该值插入我的Datetime列中

请帮帮我你可以这样做:

string date="17/04/2014";

DateTime dt = Convert.ToDateTime(date);

下面的示例使用ParseExact方法将日期字符串转换为datetime

如果您可以保证日期始终采用给定的格式,则可以使用ParseExact

编辑

将命令文本替换为以下内容:

cmd.CommandText = "insert into processeddata_table values(STR_TO_DATE('" + calldate + "','%d-%m-%Y'),'" + calltime + "','" + source + "','" + dialedno + "','" + extension + "','" + trunk + "','" + duration + "','" + toc + "','" + cost + "','" + site + "','" + callstatus + "','" + location + "','" + incomingcallduration + "','" + transfercallduration + "','" + outgoingcallduration + "','" + ringingduration + "','" + confereneceduration + "','" + empid + "','" + Department + "')";

与您的问题相关的场景和解决方案很多

根据输入,有两种方法

DateTime strDate = DateTime.Parse("17/04/2014");
//对于特定格式,如您的案例dd/MM/yyyy:

DateTime strDateWithFormat = DateTime.ParseExact(strDate, "dd/MM/yyyy",null);

但在这个问题上,我有点过分了。MySQL以自己的格式保存了它?@newagrition-一点也不过分。ParseExact是从字符串转换为DateTime的首选方法。MySQL客户端应该采用日期时间,而不是字符串。MySQL实际上是如何存储它的并不相关,但可能是二进制格式。我更喜欢DateTime.ParseExact,因为某些区域设置有不同的DateTime格式,所以每次转换时都会使用。Todatetime不是work@GujjuDeveloper先生,谢谢您的帮助。我需要问的一件事是datetime将于2014年4月17日凌晨12:00:00到来。我怎样才能在凌晨12:00:00到00:00:00之间呢Am@Laxman结果将于2014年4月17日12:00:00上午到来?或者您的日期时间字符串是2014年4月17日12:00:00 AM?您应该提供IFormatProvider,或者使用ParseExact。因为如果提供程序为null,则使用当前区域性的DateTimeFormatInfo。这意味着2014年2月1日可能是1月2日或2月1日,除非您知道当前的文化设置,否则您不知道它是否会按预期工作。您可以在question@GujjuDeveloper先生,我已经用代码更新了我的帖子请查看..答案已编辑检查新命令文本
DateTime strDateWithFormat = DateTime.ParseExact(strDate, "dd/MM/yyyy",null);