jQuery Datepicker-如何将日期格式化为历元时间戳(以秒为单位,而不是以毫秒为单位)
我正在使用jquery datepicker插件设置一个日期字段,该字段存储为数据库中的历元时间戳(字段publish_time直接映射到表模式) 似乎Datepicker只支持以毫秒为单位的历元,而不支持以秒为单位的历元。令人恼火的是,它支持毫秒和纳秒,但不支持秒 有什么快速的解决办法吗jQuery Datepicker-如何将日期格式化为历元时间戳(以秒为单位,而不是以毫秒为单位),jquery,datepicker,epoch,Jquery,Datepicker,Epoch,我正在使用jquery datepicker插件设置一个日期字段,该字段存储为数据库中的历元时间戳(字段publish_time直接映射到表模式) 似乎Datepicker只支持以毫秒为单位的历元,而不支持以秒为单位的历元。令人恼火的是,它支持毫秒和纳秒,但不支持秒 有什么快速的解决办法吗 // Setup datepicker $('[name=datepicker-publish_time]').datepicker({ dateFormat : 'mm-dd-yy', al
// Setup datepicker
$('[name=datepicker-publish_time]').datepicker({
dateFormat : 'mm-dd-yy',
altField : '[name=publish_time]',
altFormat : '@'
});
参考文献:jQuery日期选择器-
jQuery支持日期格式- 编辑:下面是一个快速脏的解决方案
$('[name=datepicker-publish_time]').datepicker({
dateFormat : 'mm-dd-yy',
onSelect : function(dateText, inst)
{
var epoch = $.datepicker.formatDate('@', $(this).datepicker('getDate')) / 1000;
$('[name=publish_time]').val(epoch);
}
});
使用毫秒表示法和parseInt获取整数值。然后你可以乘以1000得到秒数。这只需要一点处理,而不是直接获取datepicker的值。我键入这是一个答案,而不是一个注释,这样就不会错过:我强烈警告不要使用客户端的原始时间戳作为值填充到数据库中,除非你真的确信这是你想要的去做。您的客户机可能与您的服务器位于不同的时区(事实上,通常情况下,它们位于不同时区的概率约为96%:),因此,当他们选择“四月二日”时,您的数据库中可能会或可能不会以“四月二日”结束
有时候你当然需要客户的时间,但根据我的经验,这并不常见。我不得不这样做,作为最后的选择。我需要编写一个自定义回调,我并不反对这样做,但我希望有一个表达式可以用在dateFormat(例如,“(@/1000)”)中,我遇到了完全相同的问题。。。感谢您发布您的解决方案+1我与OP有一个类似的问题,我需要将用户记录的日期与日期选择器记录的日期与当前服务器时间进行比较。。。我没有保存tadepicker返回的毫秒值,因为我还想记录一个日期字符串(DD d mm yy),而是使用jquery ajax将该字符串发送到一个php脚本,该脚本将其呈现为unix时间戳服务器端并返回该字符串