Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.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将DateTime输入MySQL#_C#_Mysql_Datetime - Fatal编程技术网

C# 如何通过C将DateTime输入MySQL#

C# 如何通过C将DateTime输入MySQL#,c#,mysql,datetime,C#,Mysql,Datetime,我在MySQL数据库中输入DateTime时遇到了一个大问题。MySQL将datetime读取为yyyy-MM-dd-HH:MM:ss,而C#将datetime读取为dd/MM/yyyy-HH:MM:ss。我试过两个不同的例子,但都不起作用 型号 public class DateAndTime { public DateTime DateTime { get; set; } } 控制器 //I Have two examples that doesn't work. var myD

我在MySQL数据库中输入DateTime时遇到了一个大问题。MySQL将datetime读取为yyyy-MM-dd-HH:MM:ss,而C#将datetime读取为dd/MM/yyyy-HH:MM:ss。我试过两个不同的例子,但都不起作用

型号

public class DateAndTime
{
    public DateTime DateTime { get; set; }
}
控制器

//I Have two examples that doesn't work.
 var myDateTime = "2016-04-08 12:00:00" //this gives the error "cannot covert source 'string' to tartget type System.DateTime

 var myDateTime = Convert.ToDateTime("2016-04-08 12:00:00") //this gives the error "Input string was not in a correct format."

var model =  new DateAndTime
{
   DateTime = myDateTime
};
所以我被卡住了。我肯定有人有这个问题

DateTime myDate = DateTime.ParseExact("2009-05-08 14:40:52,531", "yyyy-MM-dd HH:mm:ss,fff",
                                       System.Globalization.CultureInfo.InvariantCulture);
检查:

试试这个:

myDateTime.ToString("yyyy-MM-dd HH:mm:ss");

myDateTime变量的类型必须为DateTime

或者你可以使用这个MySql函数:STR_TO_DATE

STR_TO_DATE('4/8/2016 2:18:17 PM', '%m/%d/%Y %h:%i:%s %p')

由于我的机器中的日期时间格式,我出现了这个问题。如果您的桌面配置为dd/mm/yy(用/符号代替-),则必须在转换之前将-替换为/。请让我知道

您是如何创建SQL语句的?如果使用参数,则不必担心格式问题。@juharr-表DateAndTime中的DateTime列位于MySQL数据库中,格式为yyyy-MM-dd HH:MM:ss。我使用nHibernate向数据库写入数据,但我还没有看到这个错误。你是说它在数据库中作为
varchar
而不是
DateTime
?因为
DateTime
没有特定的格式,所以它实际上只是一个数值。SQL语句使用的格式只是为了让人们能够理解它。只需反复检查,db是datetime,class是datetime,var是datetime。在这种情况下,应该有一种方法可以做到这一点,而不必担心格式,但您确实需要显示实际创建查询的代码或您正在使用的特定ORM,因为这不是如何将
DateTime
格式化为字符串的问题,而是如何使ORM在处理
DateTime
时正确地与DB一起工作(myDateTime,“yyyy-MM-dd HH:MM:ss”,System.Globalization.CultureInfo.InvariantCulture)我收到错误“输入字符串的格式不正确。”也许它不正确,因为它缺少AM/PM?这很好。结果是我用了错误的格式转换它。感谢IMy机器显示dd/mm/yyyy,但这无关紧要,因为最终结果必须写yyyy-mm dd HH:mm:ss,所以我可以转换它。使用它仍然会给我错误“不能将源'string'转换为tartget类型System.DateTime”myDateTime变量必须是DateTime类型try:Convert.ToDateTime(myDateTime).ToString(“yyyy-MM-dd HH:MM:ss”);是的。我在DateTime myDateTime={4/8/2016 2:18:17 PM}时遇到此错误。请在sql查询中尝试此函数:STR_to_-DATE('4/8/2016 2:18:17 PM','%m/%d/%Y%h:%i:%s%p'))