jQuery Datepicker - 如何将日期格式化为纪元时间戳(以秒而不是毫秒为单位)

标签 jquery datepicker epoch

我使用 jquery datepicker 插件来设置一个日期字段,该字段作为纪元时间戳存储在数据库中(该字段,publish_time,直接映射到表架构)。

Datepicker 似乎只支持以毫秒为单位的纪元,而不支持秒。令人恼火的是它支持毫秒和纳秒,但不支持秒。

有什么快速的解决方法吗?

// Setup datepicker
$('[name=datepicker-publish_time]').datepicker({
    dateFormat : 'mm-dd-yy',
    altField : '[name=publish_time]',
     altFormat : '@'
});

引用文献:
jQuery 日期选择器 - http://jqueryui.com/demos/datepicker/#option-defaultDate
jQuery 支持日期格式 - http://docs.jquery.com/UI/Datepicker/formatDate

编辑:下面是一个快速的脏解决方案...

$('[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);
    }
});

最佳答案

我将其输入为答案而不是评论,因此不会错过它:我强烈警告不要使用客户端的原始时间戳作为填充到数据库中的值,除非您真的当然这就是您想要做的。您的客户端可能与您的服务器位于不同的时区(事实上,一般来说,他们有大约 96% 的可能性:-),因此当他们选择“4 月 2 日”时,它可能会或可能不会在您的服务器中显示为“4 月 2 日”数据库。

有时您当然需要客户时间,但根据我的经验,这种情况并不常见。

关于jQuery Datepicker - 如何将日期格式化为纪元时间戳(以秒而不是毫秒为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2321399/

相关文章:

javascript - 两个按钮显示相同的 div。一键查看更多选项

php - 如何使用ajax在地址栏中显示选定的表格行id

javascript - 如何根据 jquery 中的第一个日期选择器更改日期选择器日期

sql - 如何将 unix 时间戳 (INT) 转换为 monetdb 时间戳 ('YYYY-MM-DD HH:MM:SS' ) 本地时间格式

javascript - jQuery DatePicker,在 iOS 上隐藏数据类型日期

javascript - 在没有轮询的情况下检测何时按下后退/前进按钮? (哈希变化)

java - 计算自纪元以来多少小时?

javascript - 如何将 LinkedIn 时间戳解析为人类可读的

javascript - 使用 jQuery 日期选择器编辑单元格时 AngularJS ngGrid 问题

javascript - 如何从datepicker jquery插件获取日期?