【发布时间】:2013-05-06 07:34:49
【问题描述】:
我的数据库服务器位于美国。用户从印度输入日期必须存储在客户端而不是服务器上。但是,不幸的是,服务器日期存储在数据库中。我只向用户显示仅在当天制作的当前日期的条目。 问题是当用户输入记录直到下午 12:30(客户端机器)正在显示给用户,但在下午 12:30(客户端机器)之后,条目不会仅显示在下午 12:30 之后创建的条目(客户端机器)显示。有什么想法吗?
例如:当客户端机器日期为 06/05/2013 上午 11:57 时,显示在 06/05/2013(DD/MM/YYYY) 至下午 12:30 完成的条目 但是当客户端机器日期为 06/05/2013 12:57 PM 时,输入的条目不会显示,但会显示在 12:30 PM 之后输入的条目。在上述数据库中,例如。创建日期存储为 05/05/2013 不知道为什么? 在 .cs 文件中:
public static DateTime GetIndianDate(DateTime dateTime)
{
return TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dateTime, TimeZoneInfo.Local.Id,"India Standard Time").Date;
}
仅显示今天的条目:
shipments = BLL.GetShipmentsByUserIdNDate(userId, Classes.Common.GetIndianDate(DateTime.Now.Date));
public static List<Shipment> GetShipmentsByUserIdNDate(Guid userId, DateTime dateTime)
{
Entities db = new Entities();
List<Shipment> shipments = (from s in db.Shipments
where s.UserId == userId && s.CreatedDate == dateTime
select s).ToList();
return shipments;
}
插入时:
shipment.CreatedDate = Classes.Common.GetIndianDate(DateTime.Now.Date);
public static DateTime GetIndianDate(DateTime dateTime)
{
return TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dateTime, TimeZoneInfo.Local.Id,"India Standard Time").Date;
}
那么,我将如何存储客户端机器的日期?现在它仍然只存储服务器日期。
帮助赞赏!
【问题讨论】:
标签: asp.net datetime timezone cultureinfo