回答

收藏

在不同的服务器上,服务器的整体区域是不同的DateTime问题

技术问答 技术问答 126 人阅读 | 0 人回复 | 2023-09-13

我的网站托管在不同位置的多台服务器上
4 h0 h5 a0 l% r; V到处都有不同数据格式的文化-+ ^4 ~5 t. a; r/ G
我们mm/dd/yyyy如果某些服务器设置了文化,格式在每个地方都使用,dd/mm/yyyy我们的网站将生成Datetime异常。
, u) a. l, y- w6 G! O3 X                                                                  L" u, D- P: {  y1 v1 x* b  Q
    解决方案:                                                                # u0 K1 k# ^  B$ W2 C8 p
                                                                在将字符串转换为日期时,应指定要使用的区域。
* y  R% l1 S* W: k  O, ?您应该使用的区域性取决于日期格式的区域性。例如,如果您想分析的所有日期都格式化为 Slovak    :
& y* e2 p8 k3 AString s = "24. 10. 2011";然后,你需要像 一样斯洛伐克(Slovakia)    (sk-SK)分析文化中的字符串:
% d8 w& z& I7 l0 N//Bad:d = DateTime.Parse(s);//Good:d = DateTime.Parse(s,CultureInfo.CreateSpecificCulture("sk-SK")); //Slovak (Slovakia)假如你的日期都在 塔吉克斯坦(塔吉克斯坦西里尔文)    tg-Cryl-Tj:+ {# P/ O, [- C& F8 d" J
String s = "24.10.11"DateTime d = DateTime.Parse(s,CultureInfo.CreateSpecificCulture("tg-Cryl-Tj"));这就导致了一个问题:您使用哪种日期格式?您应该确定所需的格式,而不是依赖服务器的语言环境设置。
6 x) Q6 f) N$ S//BadString s = d.ToString();//GoodString s = d.ToString(CultureInfo.CreateSpecificCulture("si-LK")); //Sinhala (Sri Lanka)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则