6

jquery datepickerプラグインを使用して、エポックタイムスタンプとしてデータベースに格納される日付フィールドを設定しています(フィールドpublish_timeは、テーブルスキーマに直接マップされます)。

Datepickerはミリ秒単位のエポックのみをサポートし、秒単位はサポートしていないようです。ミリ秒とナノ秒をサポートしますが、秒はサポートしません。

簡単な回避策はありますか?

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

参照:
jQueryDatepicker- http
://jqueryui.com/demos/datepicker/#option-defaultDatejQuery サポート日付形式-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);
    }
});
4

2 に答える 2

6

私はこれをコメントではなく回答として入力しているので、見逃すことはありません。クライアントからの生のタイムスタンプを値として使用して、それが必要なものであると本当に確信していない限り、データベースに詰め込まないように強く注意してください。する。クライアントはサーバーとは異なるタイム ゾーンにある可能性があります (実際、一般に、クライアントがいる可能性は約 96% です :-)。データベース。

もちろん、クライアントの時間を必要とすることもありますが、私の経験では、それはあまり一般的ではありません。

于 2010-02-23T20:25:53.263 に答える
2

ミリ秒表現と parseInt を使用して整数値を取得します。次に、1000 を掛けて秒を取得できます。これには、datepicker の値を直接取得する代わりに、少し処理が必要です。

于 2010-02-23T20:23:35.653 に答える