C# 以时间格式发行

C# 以时间格式发行,c#,asp.net,C#,Asp.net,我收到的日期格式正确,但有问题的时间,这是不正确的格式 我的输出是:-2018-08-21 00:00:00.000 这是我的密码:- myConn.Open(); string query1 = "insert into [LoginLog] ([User_id],[LoginDate]) values ('" + username + "','" + DateTime.UtcNow.ToString() + "' ) "; SqlCommand cmdUpdate = new SqlComm

我收到的日期格式正确,但有问题的时间,这是不正确的格式

我的输出是:-2018-08-21 00:00:00.000

这是我的密码:-

myConn.Open();
string query1 = "insert into [LoginLog] ([User_id],[LoginDate]) values ('" + username + "','" + DateTime.UtcNow.ToString() + "' ) ";
SqlCommand cmdUpdate = new SqlCommand(query1, myConn);
cmdUpdate.ExecuteNonQuery();
myConn.Close();

datetime的方法ToString有一个字符串参数来更改de格式,您可以在这个链接中查阅

尝试使用此格式
MM/dd/yyyy hh:MM tt


日期时间的字符串方法有一个字符串参数来更改de格式,您可以在此链接中查阅

尝试使用此格式
MM/dd/yyyy hh:MM tt


我建议使用预定义的格式,因为在每台计算机中,
DateTime.UtcNow.ToString()的结果会有所不同,这是因为时区和计算机当前日期时间格式的定义方式不同

你可以这样做

DateTime.UtcNow.ToString("yy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);

我建议使用预定义的格式,因为在每台计算机中,
DateTime.UtcNow.ToString()
的结果将不同,因为时区和计算机当前的日期时间格式是如何定义的

你可以这样做

DateTime.UtcNow.ToString("yy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);

不要使用SQL。在你的片段中,什么是“接收”一个日期,你认为你的“输出”是什么?您希望的输出是什么?在查询中使用参数。@Fildor我的输出如下:-2018年8月15日7:48:59请使用本地化概念解决此问题。不清楚您的意思是该值未正确存储在数据库中,还是在以后获取时无法正确显示。不过,我强烈建议您使用参数化查询,在这段代码中,您根本不会将
DateTime.UtcNow
转换为字符串。不要使用SQL。在你的片段中,什么是“接收”一个日期,你认为你的“输出”是什么?您希望的输出是什么?在查询中使用参数。@Fildor我的输出如下:-2018年8月15日7:48:59请使用本地化概念解决此问题。不清楚您的意思是该值未正确存储在数据库中,还是在以后获取时无法正确显示。不过,我强烈建议您使用参数化查询,在这段代码中,您根本不会将
DateTime.UtcNow
转换为字符串。OP正在尝试将值插入数据库中,其中包含一个DateTime类型的字段。最好的解决方案是根本不使用字符串表示,而是使用参数化SQL并将值指定为参数,仍然使用
DateTime
。OP尝试将值插入数据库中,并使用DateTime类型的字段。最好的解决方案不是使用字符串表示,而是使用参数化SQL并将值指定为参数,仍然使用
DateTime