DateTime.TryParse 在 Azure Web 应用程序中失败
Posted
技术标签:
【中文标题】DateTime.TryParse 在 Azure Web 应用程序中失败【英文标题】:DateTime.TryParse failing in Azure Web App 【发布时间】:2016-07-22 05:50:05 【问题描述】:我的开发机器的文化是 en-NZ,我的时区设置为新西兰时间 (UTC+12:00)。位于美国西部的服务器上的 DateTime.TryParse 失败。
如何检查和更改服务器上我的网络应用程序的文化和时间设置?
我可以在服务器上以交互方式运行 Powershell 或 C# 代码并查看输出,只是为了测试一些东西,比如说
Console.WriteLine(CultureInfo.CurrentCulture.ToString());
如果您认为我的处理方式有误,欢迎提出任何其他想法。
【问题讨论】:
您是否使用 culter 参数测试了 datetime.tryparse?像这样 DateTime.TryParse(dateString,culture, styles,out dateResult) 【参考方案1】:我只是用 Kudu 来回答这个问题。 Kudu 太棒了。
我只是认为“Kudu 是 Azure 网站中 git 部署背后的引擎。它也可以在 Azure 之外运行。”
但是转到https://[mysite].scm.azurewebsites.net/。这实际上是 Kudu 的 Web 界面,可以告诉您有关环境的所有信息。您甚至可以运行 powershell 和 cmd。看看吧。
通过将其放入 web.config 来解决问题:
<configuration>
<system.web>
<globalization culture="en-NZ" uiCulture="en-NZ" />
</system.web>
</configuration>
顺便说一句,使用 powershell,服务器上的文化是 en-US(美国西部数据中心)。时间是UTC。我不需要更改时间,但这里是如何做到这一点:
https://blogs.msdn.microsoft.com/tomholl/2015/04/06/changing-the-server-time-zone-on-azure-web-apps/。
基本上,“您需要做的就是添加一个名为 WEBSITE_TIME_ZONE 的应用程序设置(通过门户或管理 API),并将其设置为在 HKLM\Software\Microsoft\ 下的 Windows 注册表中定义的时区名称Windows Nt\CurrentVersion\Time Zones\(例如,“澳大利亚东部标准时间”)。”
【讨论】:
答案是什么? @JeroenHeier 我现在已经完全回答了。以上是关于DateTime.TryParse 在 Azure Web 应用程序中失败的主要内容,如果未能解决你的问题,请参考以下文章
如何用c#将DateTime 类型与string 类型转换?
如何在 C# 中将日期字符串转换为 DateTime 对象? [复制]