【发布时间】:2011-11-06 01:17:53
【问题描述】:
我用 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 do /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.
日期选择器中的记号 (!) 也是如此。
【问题讨论】:
-
你试过
new DateTime(1970, 1, 1);吗? -
你的第二个代码 sn-p 是什么语言?
-
可能是因为 sumemr/wintertime 或客户的其他时区?当您将其设置为 00:00:00 时,在这里错 1 秒就足够了,向后跳一天。
-
new DateTime(1, 1, 1, 0, 0, timestamp)给出正确的日期吗? -
我尝试使用 new DateTime(1970, 1, 1) 但没有成功,我从 1970 年开始一年
标签: javascript jquery datepicker