gpt4 book ai didi

javascript - jQuery Datepicker unix 时间戳

转载 作者:行者123 更新时间:2023-12-03 21:46:39 25 4
gpt4 key购买 nike

我使用 jQuery datepicker 添加一个 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

这是以毫秒为单位,所以我 id 为/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() 为例,我得到:2011-08-30 --> 1314628036

我得到的日期选择器的示例:2011年8月29日 --> 1314568800。

这也在日期选择器中带有勾号(!)。

最佳答案

这显然时区问题。

getTime()
此函数返回自“纪元”以来的毫秒数,这意味着您将获得从本地计算机看到的 Unix 时间戳 * 1000。请参阅If javascript “(new Date()).getTime()” is run from 2 different Timezones .

datepicker({altFormat: '@'})
从我在 jQuery 库中看到的,datepicker 内部使用 formatDate 函数,该函数考虑了时区(我从这里开始:jQuery.datepicker.formatDate and timezone offset ...)

所以,在我的电脑上,我得到了 2 小时的差异。我想不出一个简单的方法来解决这个问题,但你可以尝试以下方法: datetimepicker getDate to return Date / Time in UTC format

关于javascript - jQuery Datepicker unix 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com