JavaScript внутренне использует миллисекунды с начала эпохи.
Хотя я не знаком с Ruby, похоже, что date.to_f
дает число в секундах с начала эпохи, и вам придется умножить это число на 1000, чтобы быть совместимым с датой JavaScript.
var rubyTime = 1541393269.3742561;
var jsTime = 1542377024455;
console.log(new Date(rubyTime * 1000));
console.log(new Date(jsTime));
Учитывая, что мы знаем, понимаем связь между значениями для преобразования метки времени JavaScript в число с плавающей точкой, просто поделим на 1000.
1542377024455 / 1000 => 1542377024.455
К сожалению, хотя JavaScript просто не обладает той же точностью, поэтому ближайшая вы можете получить 1 миллисекунду (10 -3 секунд), но Ruby, похоже, имеет точность до 1 микросекунды (10 *) 1016 * -6 ) секунд.