2016-07-16 80 views
0

試圖使用時刻的差異函數來計算毫秒時差b/w一個時刻總是有一個恆定的時區和另一個時區的無差異時刻。我正在使用時區來幫助解決這個問題。使用時刻和時刻時區來正確實現差異

這裏是我的示例代碼:

const parisTime = moment({hour:18, minutes:0}).tz('Europe/Paris'); 
const currentTime = moment(); //right now 
const difference = moment.duration(parisTime.diff(currentTime)) 

當我執行此操作差異對待currentTime的爲同一時區爲歐洲/巴黎,不會B/C currentTime的工作可以從世界任何地方。

任何想法如何解決這個問題? 非常感謝您的幫助 - 正確的答案將被標記爲如此。

謝謝!

回答

2

我想你想計算今天巴黎時間和現在的18:00之間的差異。這將是

moment.tz('18:00', 'HH:mm', 'Europe/Paris').diff(moment()); 

基本上,你需要解析巴黎時間18:00。現在發生的事情是,你將它解析爲當地時間,然後將其轉換爲巴黎時間。

請注意,因爲您沒有指定日期,所以假定這一天是'今天',這意味着此代碼可以導致正值和負值。

有關如何構造函數如何工作的更多信息,請參閱this blog post