2016-04-28 11 views
0

Wie füge ich Australien/Melbourne Zeitzone, um den Code unten so unabhängig von der Benutzer Standort zeigt es die richtige Zeit. Ich habe risul:moment-timezone installiert, aber alles, was ich mache, bricht nur den Countdown. Jede Hilfe wird geschätzt.Wie setze ich Australien/Melbourne Zeitzone zu einem Countdown-Timer mit momentjs

Template.countdownTimer.onRendered(function() { 
    var today = new Date(); 
    var sunday = new Date(today.getFullYear(),today.getMonth(),today.getDate()+(7-today.getDay()), 23, 59, 59); 

    $('#countdown').countdown(sunday, function(event) { 
    $(this).html(event.strftime('%d days %H hours %M minutes %S seconds')); 
    }); 

}); 

aktualisieren

var today = moment(); 
    var sunday = new Date(today.getFullYear(),today.getMonth(),today.getDate()+(7-today.getDay()), 23, 59, 59); 

    console.log(sunday); 
    var clock = $('.clock').FlipClock(today, { 
    clockFace: 'DailyCounter', 
    countdown: true 
    }); 
+0

ich Ihnen helfen kann, aber ich brauche eine Klarstellung, was Sie versuchen zu erreichen. Keiner von Ihrem Code hier verwendet Moment oder Moment Zeitzone überhaupt. Versuchen Sie, bis zum Ende des Tages am nächsten Sonntag, Melbourne Zeit zu zählen? –

+0

Ich versuche, bis zum kommenden Sonntag 23:59:59 Uhr zu zählen, an dieser Stelle startet der Counter neu. – bp123

+0

Entschuldigung Julien, du brauchst noch etwas anderes – bp123

Antwort

0

Dies ist, wie Sie dies für jedes Land/Region tun können, man muss nur wissen,

Zeitzone zu tun
var timeZone = {hr:5, min:30} // for india 
var utcOffset = parseInt(timeZone.hr) * 60 + parseInt(timeZone.min); 
todayDate = moment().utcOffset(utcOffset); 

Bitte Benutzer .format Methoden für trrending den Wert. Dies wird die aktuelle Zeit jeder Zeitzone zurückgeben.

+0

Nein. Tun Sie das nicht. Viele Zeitzonen sind nicht nur feste Offsets. Die in der Frage genannte Zone "Australien/Melbourne" rotiert zwischen "+10: 00" und "+11: 00" für die Sommerzeit. Außerdem sollten Sie niemals Zeitzonen anpassen, indem Sie Minuten addieren oder subtrahieren. Das wählt eigentlich einen anderen Zeitpunkt. Wenn Sie zu einem festen Offset wechseln möchten, können Sie dies an die Funktion 'utcOffset' übergeben. –

+0

Ich habe festgestellt, dass, wenn Sie einen Wert in utcoffset (330) übergeben, ich denke, es sollte Ihnen die aktuelle Zeit in Indien geben. Aber das wird es nicht tun. Also, was es im Grunde die Minuten in der aktuellen Zeit hinzufügen. Aber ich denke, das ist nicht, was wir von Moment an wollen. Hier ist ein Beispielbild, das Sie hier überprüfen können https://drive.google.com/file/d/0B4QSvA_4-YCHT3A5UjRESzByTDA/view?usp=sharing –

+0

So löste ich dieses Problem, was ich tat, subtrahiere ich die aktuelle utcoffset Zeit, die wir eingestellt haben aktuelle Zeit bis zur Zeit. Dann füge ich eine andere Länder-Offset-Zeitzone hinzu, die die Zeit auf die Zeitzone eines bestimmten Landes einstellt. Also habe ich beide Dinge in einer Zeile gemischt. Sie können überprüfen, ob es funktioniert und der Link ist hier: https://drive.google.com/file/d/0B4QSvA_4-YCHRmpTT2NLVXpXams/view?usp=sharing –

1

Ich löste es die momentjs Dokumentation lesen, dann wie folgt:

let time = moment(date).parseZone("Australia/Melbourne"); 
return time.format('YYYY:MM:DD HH:mm:ss:SSS'); 
Verwandte Themen