当前位置: 首页 > 面试题库 >

服务器的全局区域性在不同服务器上不同时的DateTime问题

阎晔
2023-03-14
问题内容

我的网站托管在不同位置的多台服务器上

到处数据格式的文化都不尽相同-
我们mm/dd/yyyy在每个地方都使用格式,但如果某些服务器设置了文化,dd/mm/yyyy则我们的网站将生成Datetime异常。


问题答案:

您应该在将字符串转换为日期时指定要使用的区域性。

您应该使用的区域性取决于日期格式的区域性。例如,如果您要解析的所有日期都被格式化为 Slovak

String s = "24. 10. 2011";

然后,您需要像在 斯洛伐克(Slovakia)sk-SK)文化中那样对字符串进行解析:

//Bad:
d = DateTime.Parse(s);

//Good:
d = DateTime.Parse(s, CultureInfo.CreateSpecificCulture("sk-SK")); //Slovak (Slovakia)

如果您的日期都在 塔吉克斯坦(塔吉克斯坦西里尔文)中 ,则需要将其解析为tg-Cryl-Tj

String s = "24.10.11"

DateTime d = DateTime.Parse(s, CultureInfo.CreateSpecificCulture("tg-Cryl-Tj"));

这就引出了一个问题:您使用哪种日期格式?您不应依赖服务器的语言环境设置,而应确定所需的格式。

//Bad
String s = d.ToString();

//Good
String s = d.ToString(CultureInfo.CreateSpecificCulture("si-LK")); //Sinhala (Sri Lanka)


 类似资料:
  • 目前,我正在使用SonarQube插件将SonarQube与Jenkins集成。我面临的问题是我的Jenkins与Sonarqube运行在不同的服务器上。因此,当我传递sonar.source属性(如)时,由于服务器位置不同,无法找到由Jenkins创建的回购的Jenkins工作区 我的项目是Maven。以下是声纳属性的详细信息: p.s-当Jenkins和SonarQube都在同一台服务器上时,

  • 我想将setlocale与“es_es”一起使用。它返回false,但其他语言(如“de_de”)工作正常。 所以我在服务器上检查了“locale-a”(Red Hat 4.4.6-4)。它在名单上。当我在PHP中使用以下代码时,它不在列表中: 它返回不同的结果然后服务器。任何想法,如何添加es在PHP中使用语言环境? 我正在使用Apache2.2。15

  • 在将NGINX Plus与FastCGi(PHP-FPM)一起使用时,问题是我们需要在NGINX Plus和FastCGi服务器上都有相同的文件集。 这是我的配置示例:- 机器1:Nginx Plus机器2:FastCGI(PHP-FPM) 我的Nginx配置: 我在NGINX和FastCGI服务器的/var/example/(documentroot)中都有一个简单的“hello.php”文件。

  • 问题内容: 我在unix / windows / unix的三台不同服务器中工作。 :在我的unix本地服务器中,我有一个表名Country_master及其字段pk_CountryId,CountryName等。 :在我的演示服务器中,它的窗口表名称自动更改为country_master。 :在我的Live服务器中,该服务器是UNIX表名country_master。 但是在我的代码表名称中,我

  • 问题内容: 我运行基于节点映像的Docker容器(Windows的Docker快速入门终端) 我启动节点客户端(在端口3000上)和节点(基于Express)的服务器(在3009 端口上)。客户端通过AJAX调用访问REST服务器。 它可以完美地从主机运行(客户端访问localhost:3009并返回结果)。我可以拨打:3009,然后再次得到正确的结果。 但是当我构建并运行docker image

  • 我有两个不同的内部wildfly下拖子系统,以便在不同的ip上使用两个接口,并为不同的域发送不同的ssl证书 通过在接口和套接字绑定上使用这个配置和其他配置,我正确地设置了我的环境。 但是问题是在host server.mydomain.com内的default-server_secondary中部署EAR文件。 怎么做? 谢谢。