застрял в форматах Юлианского календарного дня в PHP - PullRequest
0 голосов
/ 25 января 2020

Я получаю данные от API, у которого в качестве значения юлианской даты указано 253. Это означает 10 сентября для некоторых лет ... в этом API, хотя год не указан, он относится к 2019 году (не високосный год). Я вижу преобразование в https://landweb.modaps.eosdis.nasa.gov/browse/calendar.html, например. Год является неявным (это всегда текущий год).

Однако в PHP как мне «добавить» год к нему, чтобы я мог получить метку времени или любой другой формат даты, который я нужно? Ни одна из функций календаря в PHP не похожа на работу cal_from_jd или jdtogregorian. Они дают мне год как «-4713», поэтому мне нужно «добавить» год

Любая помощь будет полезна

Спасибо

1 Ответ

1 голос
/ 25 января 2020

Юлианская дата - это количество дней с 1 января по 4712 год. Число, которое вы получаете от API, вероятно, является количеством дней в текущем году. Из него не сложно рассчитать дату:

$daysFromApi = 253;

$dateTime = date_create("01/01 +$daysFromApi Days");

//Output
echo $dateTime->format("Y-m-d");  //2020-09-10
...