0

我有一个 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

4

1 回答 1

0

它可能与特定于文化的日期时间有关。您是否使用不同的文化。例如,我遇到了数据库是通用时间的情况,我必须解析日期以获取我的特定文化。

几个小时的更改最终将日期更改为不同的一天。

这是示例用法:http: //msdn.microsoft.com/en-us/library/ey1cdcx8

代码示例:

DateTime date = DateTime.Parse(dbvalue, null, System.Globalization.DateTimeStyles.AdjustToUniversal);

或 System.Globalization.DateTimeStyles.AssumeLocal 到本地。

于 2012-06-21T14:21:37.650 回答