JSFiddle - React, Tailwind, and code Playground

HTML

<p>Фикс для Firefox. Исправляем дату:</p>
<div></div>

CSS

.r {
    color: #f00;
}

.g {
    color: #080;
}

JavaScript

console.clear();

window.Date = function (Date) {
    var offset = 0,  // империческим путем полученный оффсет
        unbind = Function.bind.bind(Function.bind);
    /*
    function __instant(constructor, args) {
        return new (unbind(constructor, null).apply(null, args));
    }
//*/

    
    return function () {
        var date = new (unbind(Date, null).apply(null, arguments));
        var    utc  = date.getTime() + (date.getTimezoneOffset() * 60000);
        var   nd   = new Date(utc + (3600000*offset));
        if (nd.getHours()==23)
            nd   = new Date(utc + (3600000*1));
 

        return new Date(
            Date.UTC(
                nd.getFullYear(),
                nd.getMonth(),
                nd.getDate(),
                nd.getHours(),
                nd.getMinutes(),
                nd.getSeconds()
            )
        );
    }
}(Date);



/// --- TEST ---
var div = document.querySelector("div");
console.log = function(s) {
    div.innerHTML += '<div>' +
    s.replace(/(\d{4})([\-\,\/])(\d{2})\2(\d{2})/g, '<span class="r">$1$2$3$2$4</span>')
     .replace(/(\w+\s+\d{2}\s+\d{4})/g, '<span class="g">$1</span>') +
    '</div>'
}

console.log("new Date(): " + new Date());
console.log('new Date("2015-01-07"): ' + new Date("2015-01-07"));
console.log('new Date("2015/01/07"):' + new Date("2015/01/07"));
console.log('new Date("2014-12-08"): ' + new Date("2014-12-08"));
console.log('new Date("2014/12/25"):' + new Date("2014/12/25"));

for (var i=1;i<32;i++)
    console.log("new Date(2014,11,"+i+"): " + new Date(2014,11,i));

for (var i=1;i<31;i++)
    console.log("new Date(2015,0,"+i+"): " + new Date(2015,0,i));