.net - 在不同文化中使用 DateTime 的最佳实践是什么

标签 .net asp.net datetime internationalization datetime-format

我有 asp.net 站点。在许多页面上使用从用户输入的日期时间,然后用它插入或更新一些数据库的表。我的问题是我有两个版本的网站:本地测试(乌克兰)和生产(美国)。因为这些站点具有不同的文化,日期时间格式也不同。使用日期时间格式统一工作流程的最佳方式是什么? 例如,我有一个带有要在其中输入日期时间的文本框和正则表达式验证器的页面。如何在我的本地站点(dt 格式为 dd.mm.yyyy)和生产(mm/dd/yyyy)中正确使用日期时间? 谢谢。

最佳答案

只需确保使用正确的 CultureInfo 进行解析和格式化。从哪里获取文化信息是个棘手的问题,例如,您可以从用户浏览器语言中推断出它。在服务器端,始终存储与文化无关的值,例如,永远不要将日期和时间作为字符串存储在数据库中。

日期时间验证应始终具有文化意识。对于服务器端验证,使用例如“TryParse()”进行验证。对于客户端验证,您需要同样注意文化。可能存在许多 javascript 库可以验证不同文化中的日期。

关于.net - 在不同文化中使用 DateTime 的最佳实践是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7281677/

相关文章:

.net - 使用鼠标移动和击键来生成加密熵(如 MEGA 上所示)

c# - 将 ActionFilterAttribute 应用于整个 WebAPI?

c# - 使用 DateTime.ParseExact 时,如何指定给定日期的时区?

Java DateTime 格式

java - 如何确定 Joda DateTimeFormatter 是 12 小时制还是 24 小时制?

.net - 为什么此查询返回的记录集的状态为 "closed"?

c# - 如何在 C# 中捕获等待的异步方法的异常?

c# - 将集合发布到 ASP.NET WEB API

asp.net - 将 SessionStore (ITicketStore) 添加到我的应用程序 cookie 会使我的数据保护提供程序无法工作

c# - 删除选中的父节点和子节点——集合被修改;枚举操作可能无法执行