Frage Konvertiere einen Unix-Zeitstempel in JavaScript in Zeit


Ich speichere Zeit in einer MySQL-Datenbank als Unix-Timestamp und das wird an einigen JavaScript-Code gesendet. Wie würde ich nur die Zeit davon bekommen?

Zum Beispiel im HH / MM / SS-Format.


826
2018-05-11 08:23


Ursprung


Antworten:


// 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);

Weitere Informationen zum Date-Objekt finden Sie unter MDN oder der ECMAScript 5 Spezifikation.


1296
2018-05-11 08:28



function timeConverter(UNIX_timestamp){
  var a = new Date(UNIX_timestamp * 1000);
  var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
  var year = a.getFullYear();
  var month = months[a.getMonth()];
  var date = a.getDate();
  var hour = a.getHours();
  var min = a.getMinutes();
  var sec = a.getSeconds();
  var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
  return time;
}

230
2018-05-21 00:44



JavaScript funktioniert in Millisekunden, daher müssen Sie zuerst den UNIX-Zeitstempel von Sekunden in Millisekunden konvertieren.

var date = new Date(UNIX_Timestamp * 1000);
// Manipulate JavaScript Date object here...

136
2018-05-11 08:31



Ich bin Teil von Jacob Wright Date.format() Bibliothek, die JavaScript-Datumsformatierung im Stil von PHP implementiert date() Funktion.

new Date(unix_timestamp * 1000).format('h:i:s')

69
2017-10-11 21:02



Hier ist die kürzeste One-Liner-Lösung zum Formatieren von Sekunden als hh:mm:ss:

/**
 * Convert seconds to time string (hh:mm:ss).
 *
 * @param Number s
 *
 * @return String
 */
function time(s) {
    return new Date(s * 1e3).toISOString().slice(-13, -5);
}

console.log( time(12345) );  // "03:25:45"

Methode Date.prototype.toISOString() gibt die Zeit zurück   vereinfacht erweitert ISO 8601 Format, das ist immer 24 oder 27 Zeichen lang (d. H. YYYY-MM-DDTHH:mm:ss.sssZ oder    ±YYYYYY-MM-DDTHH:mm:ss.sssZ beziehungsweise). Die Zeitzone ist immer   Null UTC Offset.

N.B .: Diese Lösung benötigt keine Bibliotheken von Drittanbietern und wird in allen modernen Browsern und JavaScript-Engines unterstützt.


37
2018-03-09 11:37



Ich würde über eine Bibliothek wie denken momentjs.com, das macht das wirklich einfach:

Basierend auf einem Unix-Zeitstempel:

var timestamp = moment.unix(1293683278);
console.log( timestamp.format("HH/mm/ss") );

Basierend auf einer MySQL-Datumszeichenkette:

var now = moment("2010-10-10 12:03:15");
console.log( now.format("HH/mm/ss") );

23
2017-11-11 10:30



UNIX-Zeitstempel ist die Anzahl von Sekunden seit 00:00:00 UTC am 1. Januar 1970 (lt Wikipedia).

Argument des Datumsobjekts in Javascript ist die Nummer von Millisekunden seit 00:00:00 UTC am 1. Januar 1970 (lt W3Schools Javascript-Dokumentation).

Siehe Code unten zum Beispiel:

    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);

gibt:

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)

19
2018-05-11 08:38



Verwenden Moment.js, können Sie Zeit und Datum wie folgt bekommen:

var dateTimeString = moment(1439198499).format("DD-MM-YYYY HH:mm:ss");

Und Sie können nur Zeit damit bekommen:

var timeString = moment(1439198499).format("HH:mm:ss");

16
2017-08-10 11:48