JS: Zeitdifferenz in Millisekunden, Sekunden, Minuten, etc. konvertieren mit Modulo

Heute gibt es nur einen kleinen Blogbeitrag von mir. Es geht um die Zeit, genauer gesagt um die Konvertierung von Zeitdifferenzen in normale Formate, wie Stunde, Minute oder Sekunde. Mein Beispiel (eine Art Stopuhr) kann man auch ganz einfach auf andere Programmiersprachen übertragen. Ich zeige heute aber nur Javascript und Java.

 

 

Das Beispiel mit Java

package main;

import java.util.Date;

public class Time {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		// Startzeit
		Date start = new Date();
		
		// Achtung Endlos-Schleife
		while (true) {
// aktuelle Zeit holen
			Date akt = new Date();
			
// Differenz berechnen
			long diff = akt.getTime() - start.getTime();
		
// Werte berechnen
			double tag = Math.floor(diff / (1000*60*60*24));
			diff = diff % (1000*60*60*24);
			double std = Math.floor(diff / (1000*60*60));
			diff = diff % (1000*60*60);
			double min = Math.floor(diff / (1000*60));
			diff = diff % (1000*60);
			double sec = Math.floor(diff / 1000);
			double mSec = diff % 1000;
			
// Ausgabe
			System.out.println("Tag: " + tag + " Std: " + std + " Min: " + min + " Sec: " + sec + " Msec: " + mSec);
		}
	}
}

 

Das Beispiel mit Javascript

	var start = new Date();
	var myVar = setInterval(function(){time()},1);

function time(){
// aktuelle Zeit holen
	var akt = new Date();

// Differenz berechnen
	var diff = akt.getTime() - start.getTime();

// Werte berechnen
	var tag = Math.floor(diff / (1000*60*60*24));
	diff = diff % (1000*60*60*24);
	var std = Math.floor(diff / (1000*60*60));
	diff = diff % (1000*60*60);
	var min = Math.floor(diff / (1000*60));
	diff = diff % (1000*60);
	var sec = Math.floor(diff / 1000);
	var mSec = diff % 1000;
	
// Achtung! Die Ausgabe ist mit jQuery gemacht
	$("#ausgabeElement").html("Tag: " + tag + " Std: " + std + " Min: " + min + " Sec: " + sec + " Msec: " + mSec);
}

 

Wichtige Frage

  • Die Frage des Tages lautet:
Warum habe ich Math.floor() statt Math.round() verwendet?
  • Die Antwort:

Math.floor() rundet immer ab statt wie bei Math.round() auf.
Beispiele:

  • Math.floor(2.5) = 2 vs. Math.round(2.5) = 3
  • Math.floor(2.7) = 2 vs. Math.round(2.7) = 3
  • Math.floor(1.95583) = 1 vs. Math.round(1.95583) = 2

 

Copyright © 2013 AxxG – Alexander Gräsel




Keine Antworten : “JS: Zeitdifferenz in Millisekunden, Sekunden, Minuten, etc. konvertieren mit Modulo”

Trackbacks/Pingbacks

  1. [FRAGE] Datumsdifferenz berechnen - […] JS: Date-Differenz in Millisekunden, Sekunden, Minuten, etc. konvertieren mit Modulo | AxxG Blog Zitieren […]
  2. Top javascript datumsdifferenz New Update - Tratamientorosacea.com - […] + Details hier sehen […]

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.