У меня есть приложение календаря asp.net mvc (с использованием jquery ui datepicker), и я сталкиваюсь со странной ситуацией, когда при тестировании на американском веб-сервере я вижу определенную дату и когда я тестирую на лондонском веб-сервере, я вижудругая дата (предыдущая дата)
Вот подробности:
Я сохраняю дату на сервере sql как:
2010-09-16 00:00:00.000
Затем загружаю ее вC # DateTime объект.
Мне нужно передать это как часть объекта json моему клиентскому javascript, поэтому мне было предложено следующее решение:
jsonobject.Date = UnixTicks(a.Date),
, где UnixTicks :
private static double UnixTicks(DateTime dt)
{
DateTime d1 = new DateTime(1970, 1, 1);
DateTime d2 = dt.ToUniversalTime();
TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
return ts.TotalMilliseconds;
}
Затем я конвертирую ее в дату javascript, используя следующий код на стороне клиента:
var d = new Date(jsonobject.Date);
Кто-нибудь знает, почему, если бы я получил сервер США или сервер в Лондоне, я бы получилвернуться на другую дату.Сначала я думал, что это
DateTime d2 = dt.ToUniversalTime();
, но я изменил это на:
DateTime d2 = dt;
и все еще видел ту же проблему.(на лондонском веб-сервере дата будет отображаться за 1 день до веб-сервера в США)
есть предложения?