Im trying to figure out a way to get the time difference in seconds between two dates.
For example, difference in seconds between:
2013-5-11 8:37:18 2013-5-11 10:37:18
Tried:
function timeDifference(laterdate, earlierdate) { var difference = laterdate.getTime() - earlierdate.getTime(); var daysDifference = Math.floor(difference/1000/60/60/24); difference -= daysDifference*1000*60*60*24 var hoursDifference = Math.floor(difference/1000/60/60); difference -= hoursDifference*1000*60*60 var minutesDifference = Math.floor(difference/1000/60); difference -= minutesDifference*1000*60 var secondsDifference = Math.floor(difference/1000); return secondsDifference; }
But that does not work in Nodejs, error with
getTime()
function not being found
var moment = require('moment') var startDate = moment('2013-5-11 8:73:18', 'YYYY-M-DD HH:mm:ss') var endDate = moment('2013-5-11 10:73:18', 'YYYY-M-DD HH:mm:ss') var secondsDiff = endDate.diff(startDate, 'seconds') console.log(secondsDiff)
You will need the moment.js module
npm install -S moment
The timezonecomplete module has support for date differences, even with dates in different time zones. It returns a Duration object which is unit-aware, not just a "number" that represents "milliseconds":
var tc = require("timezonecomplete"); var start = new tc.DateTime("2014-06-26T12:00:00 Europe/Amsterdam"); var end = new tc.DateTime("2014-06-26T12:00:00 UTC"); var duration = end.diff(start); // unit-aware duration console.log(duration.minutes()); // -120 console.log(duration.hours()); // -2
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With