|
|
1
2
迁移服务器时,我建议您使用与以前相同的区域设置(控制面板)(如果可能的话)。只要这样,你就可以避免很多问题。 但是,如果新服务器要承载其他需要其他区域设置的应用程序,或者由于新策略而必须承载其他区域设置,这可能是不可能的。 在任何情况下,最好在所有Parse和ToString()调用期间显式指定适用的格式。 甚至还有一个fxcop(和静态分析)规则。 更新以反映有关问题的新信息: convert.todatetime是一个“便利”方法,实现如下:
请注意,它调用datetime.parse,并传递一个显式的CultureInfo(CultureInfo.CurrentCulture)。 CultureInfo.CurrentCulture从Thread.CurrentThread.CurrentCulture获取它的值。 您可以查看CultureInfo.CurrentCulture以了解它实际返回的CultureInfo和/或进一步调查以了解正在发生的情况,但另一方面,建议您 明确规定 将字符串解析为其他数据类型(如datetime、double等)时使用的格式化程序。 正如我在原始答案中所说,有一个fxcop(静态分析)规则来检查是否缺少传递给方法的iformatProvider,这些方法具有接收其实例的重载: CA1305 . 因此,我建议您按照以下几行重写代码:
|
|
|
2
1
最后(我不确定这是否是最好的方法),我必须从iis7中选择计算机,并将那里的全球化设置设置为en-GB。这确实解决了这个问题,而且除非另有说明,否则我的所有其他网站将来都将保留在这种文化中。 请注意,我已经将计算机的区域设置更改为“UK”,但这并没有解决问题。 不过,从现在开始,我将继续讨论阿尔弗雷德提出的将日期解析为特定文化的建议。 |
|
|
3
0
应该指定在将字符串转换为日期时要使用的区域性。 您应该使用的区域性取决于日期的格式。例如,如果要分析的所有日期都格式化为 斯洛伐克人 :
然后您需要像分析字符串一样分析它
斯洛伐克语(斯洛伐克)
(
如果你的约会都在
塔吉克语(塔吉克斯坦西里尔文)
,然后需要将其解析为
这就引出了一个问题:您使用的日期格式是什么?您不应该依赖服务器的区域设置,您应该决定您想要什么格式。
我怀疑你喜欢用英语做每件事。但是你必须决定英语的哪种变体:
但是,如果您真的无法决定将日期转换为字符串时要使用什么区域性,反之亦然,并且这些日期从未打算向用户显示,那么您可以使用 不变文化 :
|
|
|
leahsaif · 未连接使用Java的映射网络驱动器 8 年前 |
|
|
Renaro Santos · 在Windows服务器上创建SVN用户 11 年前 |
|
|
tuespetre · 应用程序池回收后MVC路由丢失(更新标题3/3/14) 11 年前 |
|
|
ETFairfax · 无法加载DLL“mqrt.DLL” 12 年前 |