我用Google搜索过很多解决方案,但没有任何方法可以帮助我。对于Ex我尝试过以下方法:
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 :(得分:3)
日期对象没有与之关联的格式 - 您只使用格式显示。
当需要显示DateTime
对象时,请使用custom或standard格式字符串来根据自己的喜好设置显示格式。
你在这做什么:
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)。
答案 1 :(得分:2)
DateTime
的内部表示始终相同。 DateTime
对象没有附加格式。
如果只是显示问题,请将DateTime
转换为字符串并显示该字符串。您已经知道如何操作:使用ToString
并指定您想要的格式。