这段代码出了什么问题?
Client c = new Client();
string format = "yyyy/MM/dd HH:mm:ss";
string dateAdded = now.ToString(format);
c.RegistrationDate = DateTime.Parse(dateAdded);
c.RegistrationDate是客户端类中的dateTime对象,我希望它插入到我的数据库中。
然而,它并没有将怪胎日期转换为我的mysql数据库中的格式。它总是说字符串格式不正确。我做错了什么????我应该将我的注册日期转换为字符串???感谢
**编辑:对不起我忘了提。 “now”是now = DateTime.Now;
它获取日期和时间的当前时间。
答案 0 :(得分:3)
DateTime
并非拥有格式 - 它只是日期/时间。 (不管它是当地时间,UTC还是其他什么都是另一回事,请注意。)
首先,你不应该像往常一样转换文本:这只是一个麻烦的方法。只需使用:
c.RegistrationDate = now;
...执行你需要的任何舍入。
您尚未展示如何将值插入数据库。如果您在SQL语句中直接包含的值,那就可以解释它。您应该使用参数化SQL语句并直接在参数中传递值 - 无需转换。
如果您已经这样做了,请向我们展示您尝试用于插入数据的代码,我们会看到我们可以做些什么。有关示例,请参阅documentation。
答案 1 :(得分:0)
我认为c#代码没有任何问题,除非我认为你必须这样做
string dateAdded = DateTime.Now.ToString(format);
否则我不确定'现在'是什么。
答案 2 :(得分:0)
您可能遇到文化问题。您可以尝试使用ParseExact,如下所述:
http://msdn.microsoft.com/en-us/library/1k1skd40.aspx
因为Parse(String)方法试图解析字符串 使用格式规则表示日期和时间 当前的文化,试图解析不同的特定字符串 文化可能会失败或返回不同的结果。如果具体的话 日期和时间格式将在不同的语言环境中解析,使用 DateTime.Parse(String,IFormatProvider)方法或其中一个重载 ParseExact方法并提供格式说明符。