c# – 设置DateTime格式

我有以下代码 –

DateTime timeStamp;

timeStamp = System.Convert.ToDateTime(y.InnerText);

y.InnerText是11/03/2013 11:35:24.

然而,由于数据库正在寻找格式,这打破了我的import语句 –

2013-03-11 11:35:24

如何设置DateTime对象的格式?

How can I set the format of the DateTime object?

你不能. DateTime值没有格式,只有int或double值.当您想要将它们转换为字符串/从字符串转换时,您可以在其中指定任何格式信息.

相反,您应该使用参数化SQL并避免首先将DateTime值转换回字符串.这是一般的最佳实践 – 不要在SQL字符串中包含值;参数化SQL有许多好处:

>它避免了SQL injection attacks
>它避免了像这样的转换问题
>它使您的代码(SQL)与您的数据(参数值)分开

我还建议您在解析时指定预期的格式,而不是使用Convert.ToDateTime.例如:

timeStamp = DateTime.ParseExact(y.InnerText,
                                "dd/MM/yyyy HH:mm:ss",
                                CultureInfo.InvariantCulture);

基本上,我尝试应用的两条规则是:

>避免在您不需要的情况下进行任何转换.如果您确保每个系统尽可能使用正确的数据类型,则通常不需要进行任何转换.
>如果您需要转换为字符串表示形式,则需要非常明确地表示要使用/生成的表示形式.对于机器可读的值,通常应使用不变文化和可能的自定义日期/时间格式.对于人类可读的值,通常应使用用户的文化和标准日期/时间格式.

https://stackoverflow.com/questions/15407499/set-datetime-format

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 设置DateTime格式