Я добавляю datepicker с jQuery datepicker и использую altFormat '@' -> см. http://docs.jquery.com/UI/Datepicker/formatDate
// Function datepicker
$("#obsDate").datepicker({
altField: '#actualDate',
altFormat: '@', // Gives a timestamp dateformat
dateFormat: "dd-mm-yy",
showOn: "button",
buttonImage: $("#datePickerImg").val(),
buttonImageOnly: true,
});
Когда пользователь выбирает значение установлена временная метка unix. Примерно: 1312840800000
Это в миллисекундах, поэтому я делаю / 1000
Но когда я конвертирую метку времени с помощью функции в C #
private static DateTime ConvertFromUnixTimestamp(double timestamp)
{
var origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return origin.AddSeconds(timestamp);
}
, я всегда получаю на один день раньше ..
Что я делаю не так ?
ОБНОВЛЕНО: Когда я использую встроенную функцию javascript gettime ()
var ts = Math.round((new Date().getTime() / 1000));
, я получаю правильную метку времени ...
Пример с datepicker я получаю: 29-08-2011 -> 1314568800.
Это также с галочками (!) В датпикере.