Αποθηκεύω τον χρόνο σε μια βάση δεδομένων MySQL ως χρονοσφραγίδα Unix και αυτός αποστέλλεται σε κάποιο κώδικα JavaScript. Πώς θα μπορούσα να πάρω μόνο την ώρα από αυτό;
Για παράδειγμα, σε μορφή HH/MM/SS.
// Create a new JavaScript Date object based on the timestamp
// multiplied by 1000 so that the argument is in milliseconds, not seconds.
var date = new Date(unix_timestamp*1000);
// Hours part from the timestamp
var hours = date.getHours();
// Minutes part from the timestamp
var minutes = "0" + date.getMinutes();
// Seconds part from the timestamp
var seconds = "0" + date.getSeconds();
// Will display time in 10:30:23 format
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
Για περισσότερες πληροφορίες σχετικά με το αντικείμενο Date, ανατρέξτε στο MDN ή στην ECMAScript 5 specification.
Η JavaScript λειτουργεί σε χιλιοστά του δευτερολέπτου, οπότε θα πρέπει πρώτα να μετατρέψετε τη χρονοσφραγίδα UNIX από δευτερόλεπτα σε χιλιοστά του δευτερολέπτου.
var date = new Date(UNIX_Timestamp * 1000);
// Manipulate JavaScript Date object here...
Η χρονοσφραγίδα UNIX είναι ο αριθμός των δευτερολέπτων από τις 00:00:00 UTC της 1ης Ιανουαρίου 1970 (σύμφωνα με τη Wikipedia).
Το επιχείρημα του αντικειμένου Date στη Javascript είναι αριθμός miliseconds από τις 00:00:00 UTC της 1ης Ιανουαρίου 1970 (σύμφωνα με την W3Schools Javascript documentation).
Δείτε τον παρακάτω κώδικα για παράδειγμα:
function tm(unix_tm) {
var dt = new Date(unix_tm*1000);
document.writeln(dt.getHours() + '/' + dt.getMinutes() + '/' + dt.getSeconds() + ' -- ' + dt + '<br>');
}
tm(60);
tm(86400);
δίνει:
1/1/0 -- Thu Jan 01 1970 01:01:00 GMT+0100 (Central European Standard Time)
1/0/0 -- Fri Jan 02 1970 01:00:00 GMT+0100 (Central European Standard Time)