Я добавляю DatePicker с помощью JQuery DatePicker и использую altFormat '@' -> see 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));
Я получаю правильную метку времени ...
- Пример с getTime () я получаю:
30-08-2011 -> 1314628036
Пример с указателем даты, который я получаю:
29-08-2011 -> 1314568800.
Это также с галочками (!) В указателе даты.