У меня возникли проблемы с вставкой времени в мою базу данных с использованием Entity Framework.Entity Framework Time Issue
Справочная информация. Я использую компьютер в UTC для создания этого приложения. После его создания я разворачиваю его на сервере, который является UTC + 1. База данных, к которой он подключается, также находится на сервере, который является UTC + 1.
Итак, когда я запускаю локально на свой компьютер, я установил время, например 9 утра, и он сохраняет в базе данных как 10 утра. Это так, как ожидалось.
Когда я запускаю сервер, я помещаю его в 9 утра и сохраняет в базе данных как 11am. Это не то, что я ожидал, так как он должен иметь разницу в часах не 2.
Может ли кто-нибудь помочь с этим. Мой текущий код:
static void Main(string[] args)
{
DateTime Start = Convert.ToDateTime("27/04/2015 08:00");
DateTime End = Convert.ToDateTime("27/04/2015 16:00");
// generate a schedule
ASML_ScheduleHeader schedule = new ASML_ScheduleHeader();
schedule.ScheduleId = Guid.NewGuid();
TimeZone localZone = TimeZone.CurrentTimeZone;
schedule.StartTime = localZone.ToLocalTime(DateTime.SpecifyKind(Start, DateTimeKind.Utc));
schedule.EndTime = localZone.ToLocalTime(DateTime.SpecifyKind(End, DateTimeKind.Utc));
using (CIC40PrimaryEntities _context = new CIC40PrimaryEntities())
{
try
{
Console.WriteLine("Adding Header");
_context.ASML_ScheduleHeader.Add(schedule);
_context.SaveChanges();
Console.WriteLine("Schedule added");
}
catch (Exception ex)
{
Console.WriteLine("Schedule not added");
}
Console.Read();
}
}
почему не используют время UTC для всех? – demo