Pickadate - 如何实际使用选定的日期?

Pickadate - how to actually use selected date?

我正在实现一个 pickadate 日期选择器,文档中并不清楚如何实际使用用户选择的日期。例如我写了这个:

$('.datepicker').pickadate({
    onSet: function(context) {
        console.log(context);
    }
});

这会产生奇怪的输出(2015 年 9 月 8 日):

Object {select: 1441666800000}

这个输出实际如何使用?

奇怪的数字是以毫秒为单位返回的日期。

在控制台中试试这个:

new Date(1441666800000);

// Returns:
// Mon Sep 07 2015 16:00:00 GMT-0700 (PDT)

这样使用:

$('.datepicker').pickadate({
    onSet: function(context) {
        console.log(new Date(context.select););
    }
});

希望对您有所帮助!

您的输出是一个 javascript 对象,带有 属性 select。这个 属性 的值是 timestamp。实际上这个时间戳是从 unix 纪元开始到选定日期的毫秒数。您可以使用 Date.prototype:

转换为日期对象
$('.datepicker').pickadate({
    onSet: function(context) {
        console.log(new Date(context.select););
    }
});

首先,您必须为输入字段添加日期选择器,然后在提交按钮上,您可以将选择的值存储到一个变量中,并在要使用 jquery:

显示日期的地方使用变量
<script type="text/javascript">
// Datepicker
$(document).ready(function(){
    $("#datepicker" ).datepicker({ minDate: 0});    
    jQuery( "#datepicker" ).datepicker({ dateFormat: 'dd-mm-yy' });

    $("form").submit(function() {
        var datepickedup = $("input#datepicker").val();
    });
});

其中 #datepicker 是输入字段 ID。

您还可以使用 get select 方法以更方便的格式获取所选日期。比如关闭事件触发时。

$('.datepicker').pickadate({
    onClose: function() {
        console.log(this.get('select', 'yyyy-mm-dd'));
    }
});