我想知道是否有办法根据用户本地日期格式设置更改日期格式。我将在数据库YYYY-MM-DD
中存储的日期,但用户的格式不同,如DD-MM-YYYY
或DD.MM.YYYY
。什么是一种干净,优雅的方法来确保我的应用程序始终以本地日期格式重现日期,并且SQL服务器始终在YYYY-MM-DD
中接收要存储的日期。
答案 0 :(得分:7)
数据库中的是
YYYY-MM-DD
没有。如果你这样做,Db中的存储没有格式。它例如存储为数字。
什么是干净,优雅的方式来确保我的应用程序始终以本地日期格式重现日期
您的应用程序也会将其作为二进制值接收。每次成为字符串时都必须考虑格式。
采用本地日期格式
为此,您可以依赖机器配置:datevalue.ToString()
。
但通常你想控制:datevalue.ToString(specificCultureInfo)
答案 1 :(得分:0)
您应始终将日期保存在datetime对象中。要解析日期,您可以在知道日期格式时使用DateTime.TryParseExcact,并在想要使用用户优先级时使用TryParse。但是,使用dedecated日期控件从用户那里获取日期会更好。
答案 2 :(得分:0)
DateTime
对象没有格式。你可能在谈论日期的字符串表示。
您可以通过调用DateTime.ToShortDateString()
DateTime date = new DateTime(2012, 01, 01);
string dateStringInCurrentCultureFormat = date.ToShortDateString();