问题描述
||
我已经在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);
}
如果有人解决了这个问题,请告诉我。
解决方法
日期对象没有与之关联的格式-您仅使用格式进行显示。
该显示“ 1”对象时,请使用自定义或标准格式字符串将显示格式设置为您喜欢的格式。
您在这里做什么:
DateTime dt = DateTime.ParseExact(date.ToString(\"dd/MM/yyyy\"),\"dd/MM/yyyy\",culture,DateTimeStyles.NoCurrentDateDefault);
有点奇怪-您正在获得DateTime
-date.ToString(\"dd/MM/yyyy\")
的特定字符串表示形式,然后将该字符串解析回DateTime
对象。说出“ 6”有点长,要清除时/分/秒数据。
如果只需要DateTime
的日期部分,请使用Date
属性。它产生:
与该实例具有相同日期的新对象,并且时间值设置为午夜12:00:00(00:00:00)。
, DateTime
的内部表示形式始终相同。没有格式附加到“ 1”对象。
如果仅是显示问题,则将“ 1”转换为字符串并显示该字符串。您已经知道该怎么做:使用ToString
并指定所需的格式。