Вот пример в простом Javascript.
Обратите внимание, что объекты даты в Javascript имеют временные метки с разрешением в миллисекундах, а время Unix обычно в секундах.
function parseDDMMYYY(input) {
const dateArrayText = input.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);
if (!dateArrayText) return NaN;
// Decode dateArrayText to numeric values that can be used by the Date constructor.
const date = {
year : +dateArrayText[3],
month : (+dateArrayText[2]) - 1, // month is zero based in date object.
day : +dateArrayText[1]
}
const dateObject = new Date( date.year, date.month, date.day );
// Check validity of date. The date object will accept 2000-99-99 as input and
// adjust the date to 2008-07-08. To prevent that, and make sure the entered
// date is a valid date, I check if the entered date is the same as the parsed date.
if (
!dateObject
|| date.year !== dateObject.getFullYear()
|| date.month !== dateObject.getMonth()
|| date.day != dateObject.getDate()
) {
return NaN;
}
return dateObject;
}
const date1 = parseDDMMYYY('30/05/2019');
const date2 = parseDDMMYYY('30/04/2019');
const diffInMs = date2 - date1;
const diffInSeconds = Math.floor( (date2 - date1) / 1000 );
console.log( diffInMs );
console.log( diffInSeconds );