C# 如何在ASP.NET项目中设置全局日期时间格式?

C# 如何在ASP.NET项目中设置全局日期时间格式?,c#,asp.net,localization,C#,Asp.net,Localization,我有一台装有德语windows的服务器,但DateTime值以英语格式存储在mysql服务器上。如何强制每个DateTime.ToString()方法(如DateTime.Now.ToString())在默认情况下输出“英语”日期时间?我建议您尝试使mysql环境和.net环境都使用通用日期时间格式,而不是本地化版本。然后可以使用DateTime.ToString(“U”)随时使用可靠的格式 除此之外,您应该能够将日期作为日期类型的参数而不是字符串传递给数据库,因此它将为您处理底层转换。我使用的

我有一台装有德语windows的服务器,但DateTime值以英语格式存储在mysql服务器上。如何强制每个DateTime.ToString()方法(如DateTime.Now.ToString())在默认情况下输出“英语”日期时间?

我建议您尝试使mysql环境和.net环境都使用通用日期时间格式,而不是本地化版本。然后可以使用DateTime.ToString(“U”)随时使用可靠的格式


除此之外,您应该能够将日期作为日期类型的参数而不是字符串传递给数据库,因此它将为您处理底层转换。我使用的是SqlServer,但不是MySql,因此我不知道是否会得到相同的结果。

我建议您尝试使MySql环境和.net环境都使用通用日期时间格式,而不是本地化版本。然后可以使用DateTime.ToString(“U”)随时使用可靠的格式


除此之外,您应该能够将日期作为日期类型的参数而不是字符串传递给数据库,因此它将为您处理底层转换。我使用的是SqlServer,但不是MySql,因此我不知道是否会得到相同的结果。

我在web.config中设置了区域性,以便任何特定于区域性的转换或解析(即日期)都将使用相同的区域性,而不管底层操作系统区域如何

i、 e


我在web.config中设置了区域性,因此任何特定于区域性的转换或解析(即日期)都将使用相同的区域性,而不管底层操作系统区域如何

i、 e



不幸的是,即使使用类型参数,您仍然可以向SQL Server传递格式错误的日期。ASP.NET不知道您的SQL凭据所需的日期格式,该格式可以根据每个用户进行设置。我发现,对于由于本地化问题而无法混淆的日期,最好始终向SQL Server传递固定格式。MMM dd yyyy处理此问题,因为它无法交换月、日和年。不幸的是,即使使用类型参数,您也肯定可以将格式错误的日期传递给SQL Server。ASP.NET不知道您的SQL凭据所需的日期格式,该格式可以根据每个用户进行设置。我发现,对于由于本地化问题而无法混淆的日期,最好始终向SQL Server传递固定格式。MMM dd yyyy处理此问题,因为它无法交换月、日和年。
<globalization culture="en-GB" uiCulture="en-GB"/>