2011-05-31 24 views
0

我已经搜索了很多并尝试了很多解决方案,但没有任何工作适合我。当然我有如下尝试:如何将格式为“MM/dd/yy hh:mm:ss tt”的日期对象转换为格式为“dd/MM/yy”的DateObject

public static DateTime ParseDateToSystemFormat(DateTime date) 
{ 
    IFormatProvider culture = new CultureInfo("en-GB", true); 

    DateTime dt = DateTime.ParseExact(date.ToString("dd/MM/yyyy"), 
            "dd/MM/yyyy", 
            culture,DateTimeStyles.NoCurrentDateDefault); 
    return Convert.ToDateTime(dt,culture); 

} 

如果有人已经解决了这个请让我知道

+0

请描述你想要达到的目标。正如答案所指出的那样,没有附加到'DateTime'对象的格式。你的问题必须在别处。 – 2011-05-31 09:53:34

+0

DateTime对象没有格式。您可以按照您想要的格式打印此对象。 – arthur86 2011-05-31 09:54:25

+0

这真的只会在这个操作返回一个字符串时才有意义 – 2011-05-31 11:56:15

回答

3

Date对象不存在格式关联到他们 - 你只使用格式化以显示

当。是显示DateTime对象的时间,请使用customstandard格式化字符串以根据您的喜好来设置显示格式。

,你在这里做什么:

DateTime dt = DateTime.ParseExact(date.ToString("dd/MM/yyyy"), 
           "dd/MM/yyyy", 
           culture,DateTimeStyles.NoCurrentDateDefault); 

比较奇怪 - 你得到你DateTime一个特定的字符串表示 - date.ToString("dd/MM/yyyy"),然后分析该字符串回DateTime对象。有一个很长的路要说DateTime dt = date;,清除小时/分钟/秒的数据。

如果您只想要DateTime的日期部分,请使用Date属性。它产生:

与此实例具有相同日期并且时间值设置为午夜12:00:00(00:00:00)的时间值的新对象。

2

DateTime的内部表示总是相同的。 DateTime对象没有附加格式。

如果只是显示问题,则将DateTime转换为字符串并显示该字符串。您已经知道如何操作:使用ToString并指定您想要的格式。

相关问题