我有SilverLight应用程序和wcf服务。我有型号
public class MyModel
{
public DateTime MyDate {get;set;}
...
}
在服务器端,我做了:
MyModel.MyDate = DateTime.ToDay
并将模型返回给客户端
客户端
var taskGet = await _context.Load(_context.GetMyModelQuery()).AsTask();
MyModel= taskGet .Entities.FirstOrDefault();
服务器和客户端位于不同的时区服务器距离UTC还有+8小时客户端具有+3H(我的浏览器)UTC
服务器上DateTime.ToDay返回2015年3月20日
但在客户端上,我有2015年3月19日的
为什么会发生这种情况?
我找到了临时解决方案。
var myDate = DateTime.SpecifyKind(DateTime.Today, DateTimeKind.Unspecified);
在客户端,
<sdk:DatePicker SelectedDate="{Binding MyDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnNotifyDataErrors=True, NotifyOnValidationError=True}" />
MyDate = MyModel.Mydate;