jQuery Datepicker unix timestamp

Я добавляю 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));

, я получаю правильную метку времени ...

  • Пример с getTime () я получаю: 30-08-2011 -> 1314628036

Пример с datepicker я получаю: 29-08-2011 -> 1314568800.

Это также с галочками (!) В датпикере.

20
задан Eli 25 September 2012 в 12:33
поделиться