2017-06-05 65 views
0

如何顯示剩餘時間,直到午夜,這樣的時刻: 22小時48分鐘時間:12秒Moment.js如何顯示剩餘天(與時區偏移)

爲了使事情更加困難,這應顯示在UTC + 2時區。 這是可能的簡單的JavaScript或更容易與momentjs? 任何幫助表示讚賞!

+2

什麼你試過這麼遠嗎?請參閱[時間](http://momentjs.com/docs/#/durations/)。 – VincenzoC

+0

總是使用時區庫的東西。這裏有一個[偉大的視頻](https://youtu.be/-5wpm-gesOY),解釋你爲什麼不應該自己處理時區。 –

+0

@SumnerEvans據我所知moment.js是一個時區的東西和更多的圖書館;) – schrej

回答

1

let now = moment(); 
 
let timeDiff = moment(now).utcOffset(120).endOf('day') - now; 
 

 
let dur = moment.duration(timeDiff); 
 

 
console.log(`${dur.hours()} hrs ${dur.minutes()} min ${dur.seconds()} sec until midnight.`);
<script src="https://momentjs.com/downloads/moment.min.js"></script>

+0

像其他人一樣,評論說,當涉及時區的東西,絕對更好地利用現有的,經過測試的庫。不幸的是,JavaScript對於有用的日期時間操作的本地支持很弱 - 使用本機日期實現相同的事情會非常困難(並且容易出錯)。 – nikulis

+0

此外,請考慮您是否總是希望UTC + 2,或者如果您實際上正在嘗試針對特定時區,並根據夏令時等因素設置不同的偏移量等。 在這種情況下,您希望也可以使用片刻的可選時區庫。 – nikulis