在不同文化中使用 DateTime 的最佳实践是什么
我有 ASP.NET 站点。在许多页面上,使用从用户处输入的日期时间,然后用它插入或更新某些数据库的表。我的问题是我有两个版本的网站:本地测试(乌克兰)和生产(美国)。因为这些网站有不同的文化,日期时间格式也不同。将工作流程与日期时间格式统一的最佳方法是什么? 例如,我有一个页面,其中包含要在其中输入日期时间的文本框和正则表达式验证器。如何正确处理本地站点中的日期时间(dt 格式为 dd.mm.yyyy)和生产(mm/dd/yyyy)? 谢谢。
I have asp.net site. On many pages is used datetime to be putted from user and then inserted or updated some db's table with it. My problem is that I have two version of site: local for testing (Ukraine) and production (USA). Because these sites have different culture datetime format are different. What is the best way to unificate workflows with datetime format?
For example, I have page with textbox to be entered datetime in it and reqular expression validator. How can I do correct working with datetime in my local site ( dt format is dd.mm.yyyy) and production (mm/dd/yyyy) ?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只需确保使用正确的 CultureInfo 进行解析和格式化即可。从哪里获取文化信息是一个棘手的问题,例如,您可以从用户的浏览器语言中推断出它。在服务器端,始终存储文化中立的值,即从不存储日期和时间。例如,时间作为数据库中的字符串。
日期时间验证应始终具有文化意识。对于服务器端验证,请使用“TryParse()”等进行验证。对于客户端验证,您需要同样小心文化。可能存在许多可以验证不同文化中的日期的 JavaScript 库。
Just make sure you use the correct CultureInfo for parsing and formatting. Where you get the cultureinfo from is the tricky question, you could for example deduce it from the users browser language. On the server side, always store culture-neutral values, i.e. never store dates & times as strings in a database for example.
DateTime validation should always be culture aware. For server side validation, use e.g. "TryParse()" to validate. For client side validation you need to be equally careful with cultures. There probably exists numerous javascript libraries that will validate dates in different cultures.
您可以在 web.config 和相应的代码中定义文化。
You can define culuture in web.config and code correspondingly.