1

我想知道是否有办法根据用户本地日期格式设置更改日期格式。我将存储在数据库中的日期,YYYY-MM-DD但用户有不同的格式,比如DD-MM-YYYYor DD.MM.YYYY。什么是一种干净、优雅的方式来确保我的应用程序始终以本地日期格式检索日期,并且 SQL 服务器始终接收YYYY-MM-DD要存储的日期。

4

3 回答 3

7

在数据库中YYYY-MM-DD

不。如果你做对了,数据库中的存储就没有格式。例如,它被存储为一个数字。

什么是确保我的应用程序始终以本地日期格式检索日期的干净、优雅的方式

您的应用程序也将其作为二进制值接收。每次变成字符串时,您都必须考虑格式。

本地日期格式

为此,您可以依赖机器配置: datevalue.ToString().

但通常你想控制: datevalue.ToString(specificCultureInfo)

于 2012-11-05T09:47:11.940 回答
0

您应该始终将日期保存在 datetime 对象中。要解析日期,您可以在知道日期格式时使用 DateTime.TryParseExcact,在想要使用用户偏好时使用 TryParse。但是,使用专用日期控件从用户那里获取日期会更好。

于 2012-11-05T09:48:18.910 回答
0

对象没有DateTime格式。您可能正在谈论日期的字符串表示形式。

您可以通过调用使用用户各自的文化设置将日期作为字符串返回DateTime.ToShortDateString()

DateTime date = new DateTime(2012, 01, 01);
string dateStringInCurrentCultureFormat = date.ToShortDateString();
于 2012-11-05T09:49:46.650 回答