2017-06-30 6 views
-1

Ich habe einen Code gefunden, aber ich weiß nicht, Zeitzone hinzufügen. Ich möchte den Timer aus der Zeitzone des anderen Landes wie Dänemark/Kopenhagen erkennen. Danke. Das ist mein Code.Zeitzone Javascript in meinem Timer

<script type="text/javascript"> 
 
ElapsedTimeLogger = function(dateElementId, elapsedElementId, hiden, interval) { 
 
    var container = $(elapsedElementId); 
 
    var time = parseDate($(dateElementId).val()); 
 
    var interval = interval; 
 
    var timer; 
 

 
    function parseDate(dateString) { 
 
     var date = new Date(dateString); 
 
     return date.getTime(); 
 
    } 
 

 
    function update() { 
 
    var systemTime = new Date().getTime(); 
 
    elapsedTime = systemTime - time; 
 
    container.html(prettyPrintTime(Math.floor(elapsedTime/1000))); 
 
$(hiden).val(prettyPrintTime(Math.floor(elapsedTime/1000))); 
 
} 
 

 
    function prettyPrintTime(numSeconds) { 
 
     var hours = Math.floor(numSeconds/3600); 
 
     var minutes = Math.floor((numSeconds - (hours * 3600))/60); 
 
     var seconds = numSeconds - (hours * 3600) - (minutes * 60); 
 

 
     if (hours < 10) hours = "0" + hours; 
 
     if (minutes < 10) minutes = "0" + minutes; 
 
     if (seconds < 10) seconds = "0" + seconds; 
 
     var time = hours + ":" + minutes + ":" + seconds; 
 

 
     return time; 
 
    } 
 

 
    this.start = function() { 
 

 
     timer = setInterval(function() {update()}, interval * 1000); 
 
    } 
 

 
    this.stop = function() { 
 
     clearTimeout(timer); 
 
    } 
 
} 
 
$(document).ready(function() { 
 

 
    var timeLogger = new ElapsedTimeLogger("#date", "#elapsed","#stoppedid", 1); 
 
    timeLogger.start(); 
 

 
    $("#confirm").click(function() { //Stop timer upon clicking the Confirm Button 
 
     timeLogger.stop(); 
 

 
    }); 
 

 
}); 
 

 
    </script>

danke. Ich weiß Javascript nicht. Ich kenne nur PHP. Ich habe versucht,

setzen, bevor der Code ausgeführt wird. ich spare schon eine zeit von europa/kopenhagen. aber wenn der Timer läuft. es sagt 6:00:01 abd zähl .. aber ich möchte so laufen 0:00:01 und zählen. und meine idee die zeit von europa und zeit in meinem land ist 6 stunden. Ich möchte die Zeit von Europa nicht mein Land laufen lassen. weil ich die Zeit von Europa mit php spare. Siehe unten den Code zum Speichern der Zeit.

date_default_timezone_set("Europe/Copenhagen"); 

aber nicht arbeiten. Ich habe die Lösung nicht gefunden

+0

Es ist unklar, was Sie fordern. Was meinst du mit "Zeitzone hinzufügen" und "den Timer aus der Zeitzone erkennen"? Bitte erläutern. –

+0

sorry für das .. was ich meine ist. Ich spare eine Zeit mit der Zeit von Dänemark. wenn ich die Zeit abfrage und beginne, die Zeit zu laufen. es heißt 6:00:00 ich hoffe, der out Put wird 0:00:01 sein. In meinen Gedanken ist Zeit von Dänemark und Zeit von meinem Land zwischen 6hours. Deshalb möchte ich meinen Timer von der Dänemark-Zeit laufen lassen. wo ich die Zeit spare. Ich hoffe du verstehst. Entschuldigung für mein Englisch –

+0

Um klar zu sein, fragen Sie nach einem Countdown-Timer, der auf einem eingegebenen Datum und Uhrzeit in einer bestimmten Zeitzone basiert? Haben Sie daran gedacht, dass es einfacher wäre, die Eingabe in UTC auf dem Server zu konvertieren und dann auf die UTC-Zeit zu zählen? –

Antwort

-1
function getClientTimeZone() { 
    var offset = new Date().getTimezoneOffset(), 
    o = Math.abs(offset); 
    return (offset < 0 ? "+" : "-") + ("00" + Math.floor(o/60)).slice(-2) + ":" + ("00" + (o % 60)).slice(-2); 
} 

// Display Output 
alert(getClientTimeZone()); 
+0

https://jsfiddle.net/znzgzx59/2/ – Help

+0

Wie man das zu meinem Code hinzufügen? Ich bin nicht Kinow. weil ich Javascript nicht kenne. –

+1

Bitte verwenden Sie den Link [Bearbeiten], um zu erklären, wie dieser Code funktioniert, und geben Sie nicht nur den Code an, da eine Erklärung zukünftigen Lesern eher hilft. Siehe auch [Antwort]. –

0

Ich analysierte diesen Code, ich schrieb den erforderlichen HTML um zu sehen, was der Code tut. Es wird einfach ein Zähler im Format hh: mm: ss erstellt und auf dem Bildschirm angezeigt. Dieser Zähler zeigt die vergangene Zeit seit dem Datum an.

um die Zeitzone des Benutzers hinzuzufügen, um in Ihrem Timer zu reflektieren, müssen Sie nur die Sekunden innerhalb der prettyPrintTime(numSeconds) Funktion neu berechnen, bevor Sie sie verwenden, um Stunden, Minuten und Sekunden zu erhalten.

function prettyPrintTime(numSeconds) { 
      var tzOffset = new Date().getTimezoneOffset(); // get the timezone in minutes 
      tzOffset = tzOffset * 60; // convert minutes to seconds 
      numSeconds -= tzOffset;  // recalculate the time using timezone 

      var hours = Math.floor(numSeconds/3600); 
      var minutes = Math.floor((numSeconds - (hours * 3600))/60); 
      var seconds = numSeconds - (hours * 3600) - (minutes * 60); 

      if (hours < 10) hours = "0" + hours; 
      if (minutes < 10) minutes = "0" + minutes; 
      if (seconds < 10) seconds = "0" + seconds; 
      var time = hours + ":" + minutes + ":" + seconds; 

      return time; 
     } 

Werfen Sie einen Blick auf den Arbeitscode: https://jsfiddle.net/4c6xdcpr/