gpt4 book ai didi

c# - DateTime.ToString(format) 在不同电脑上的意外行为

转载 作者:行者123 更新时间:2023-11-30 15:00:14 24 4
gpt4 key购买 nike

那里。我正在开发一个简单的接口(interface)来从 SQLServer 获取数据,我使用函数 DateTime.ToString(String)

实际代码是DP.Value.ToString("yyyy-MM-dd HH:mm:00"),其中 DP 是 DateTimePicker 控件。

我在自己的笔记本电脑上测试时一切正常。但是当我将编译后的代码移到另一台电脑上时,结果就不同了。例如:它从 2013-03-27 22:02 传递到 2013-03-27 22.02,替换“.”小时内带有“:”。但这足以让我的应用程序崩溃,因为 SQLServer 生成了一个无效日期。

罪魁祸首是什么?两台电脑都安装了 SQLServer 2008 R2(和相同的排序规则)和 .NET Framework 4.0 Client Profile。我看到的一个区别是我的 SQLServer 有英语(美国)语言属性,而另一个有意大利语设置,但我应该用格式字符串克服它......

最佳答案

您没有指定文化,因此使用的是当前文化。在另一个系统上,“。”用于时间说明符,而不是“:”。

您可以 specify a culture explicitly , 但是,要避免这种情况:

var str = DP.Value.ToString("yyyy-MM-dd HH:mm:00", CultureInfo.InvariantCulture);

也就是说,使用参数化查询并将值保留为 DateTime 比将日期作为字符串传递更好。

关于c# - DateTime.ToString(format) 在不同电脑上的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15669643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com