jQuery Datepicker - Wie kann ich das Datum als Unix-Zeitstempel-Format (in Sekunden nicht Millisekunden)

StackOverflow https://stackoverflow.com/questions/2321399

  •  22-09-2019
  •  | 
  •  

Frage

Ich verwende die Jquery Datepicker-Plugin ein Datumsfeld zu setzen, als eine Epoche Zeitstempel in der db gespeichert wird (das Feld, publish_time, direkt das Tabellenschema).

Es scheint, dass Datepicker unterstützt nur Zeit in Millisekunden, und nicht Sekunden. Sein erschwerend, dass es unterstützt Milli & Nanosekunden, aber nicht Sekunden.

Gibt es eine schnelle Abhilfen?

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

Referenzen:
jQuery Datepicker - http://jqueryui.com/demos/datepicker/#option-defaultDate
jQuery Unterstützung Datumsformate - http://docs.jquery.com/UI/Datepicker/formatDate

Edit: Im Folgenden finden Sie eine kurze schmutzige Lösung ...

$('[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);
    }
});
War es hilfreich?

Lösung

Verwenden Sie die Millisekundendarstellung und parseInt einen ganzzahligen Wert zu erhalten. Dann können Sie mit 1000 multiplizieren die Sekunden zu erhalten. Dies erfordert nur ein wenig Verarbeitung anstatt direkt den Wert der Datumsauswahl zu nehmen.

Andere Tipps

Ich schreibe dies als eine Antwort und keinen Kommentar, so dass es nicht verpasst bekommt: Ich warne stark gegen den rohen Zeitstempel von Ihrem Client als Wert Sachen in Ihrer Datenbank mit, es sei denn du bist wirklich sicher , dass das, was Sie tun wollen. Ihre Kunden in verschiedenen Zeitzonen als Ihre Server sein kann (in der Tat, in der Regel gibt es etwa eine 96% ige Chance, sie sind :-) so, wenn sie „2. April“ pick kann es oder auch nicht als „2. April“ am Ende in Ihrem Datenbank.

Manchmal natürlich Sie wollen die Client-Zeit, aber nach meiner Erfahrung das ist nicht allzu häufig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top