C#更改不同格式之间的日期

时间:2012-11-05 09:45:15

标签: c# sql sql-server

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

3 个答案:

答案 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();