我有一个telerik网格,其中我有一个列,其中我显示用户的DateOfBirth。下面是我的Telerik Grid列的部分代码:
columns.Bound(c => c.DOB).Title("DateofBirth").Format("{0:MM/dd/yyyy}");
由于我必须在UI上显示日期部分,我将从模型中返回.Date
,如下所示:
public DateTime? DOB
{
get
{
if (DateOfBirth > DateTime.MinValue)
return DateOfBirth.Date;
else
return null;
}
}
其中DateOfBirth是我从具有日期和时间格式的数据库获得的日期。问题是我在某些情况下将日期视为一天而不是总是如此。可能是什么原因?
例如,如果从DB返回的日期是06/21/2012 12:00:00 PM
,那么我将其作为06/20/2012
答案 0 :(得分:1)
这可能与文化特定的日期时间有关。 你在使用不同的文化吗?例如,我遇到了数据库是普遍时间的场景,我不得不解析日期以获得我的特定文化。
几个小时的更改最终将日期更改为一天不同。
以下是示例用法: http://msdn.microsoft.com/en-us/library/ey1cdcx8
代码示例:
DateTime date = DateTime.Parse(dbvalue, null, System.Globalization.DateTimeStyles.AdjustToUniversal);
或System.Globalization.DateTimeStyles.AssumeLocal到达本地。