Вот один из способов сделать это.
Вы можете преобразовать строку ISO с смещением часового пояса - к объекту JavaScript в современном JavaScript (ES5). Это работает в Node.js, Chrome и Firefox. Он еще не поддерживается в Safari или IE. Если вам нужно, чтобы он работал во всех браузерах, вам нужно самостоятельно проанализировать дату или использовать библиотеку, например, Moment.js.
Я протестировал этот алгоритм против US Naval Observatory Julian Date Converter для ряда дат.
Для дат, предшествующих григорианскому переходу (15 октября 1582 года), это предполагает прорептический григорианский календарь и будет отличаться от того, что показывает Военно-морская обсерватория США. Использование
function julianDayNumber(d) {
var epoch = 2440587.500000; // Jan. 1, 1970 00:00:00 UTC
return d.getTime()/86400000 + epoch;
}
Пример:
console.log(julianDayNumber(new Date('2013-12-28T20:30:00-0700')));
// prints: 2456655.6458333335
ли вы имеете в виду реальное [Julian Day] (http://en.wikipedia.org/wiki/Julian_day) или, может быть, [Порядковый Дата] (HTTP: // en.wikipedia.org/wiki/Ordinal_date)? – Teemu
Возможный дубликат [Расчет Jday (Юлианский день) в javascript] (http://stackoverflow.com/questions/11759992/calculating-jdayjulian-day-in-javascript) –