Показать статистику
0 голосов
от (340 баллов)
Кто то может поделиться формулой что бы перевести юникс время в день и месяц?
1.6тыс. просмотров 1 ответов

1 Ответ

0 голосов
от (440 баллов)

Вроде пролетал подобный вопрос на stackoverflow. 

Пошаговка

  1. Время Unix делим на часы в году что бы получить года прошедшие с 1970 до вашего Unix времени. 
  2. Определим количество високосных годов начиная с 1970 до года, найденного в шаге 1 (2008 - 1969)/4 = ~9 (дробную часть отбрасываем)
  3. Определим количество дней с 1970 до нынешней даты. Ваше Unix время делим на 86400
  4. Далее вычитаем високосные дни из числа дней с 1970
  5. Разделим число из шага четыре по модулю на число дней в году (365)
  6. Далее идем через каждый месяц и вычитаем его пока оставшиеся дни будут меньше чем дни всех месяцев
  7. Найдем сколько часов в секундах из шага 6 (умножим на 86400). Дробную часть игнорируем.
  8. Найдем теперь сколько минут осталось. Вычтем часы, которые найдены в шаге 7 из секунд в шаге 6, и все это делим на 60
  9. Далее ищем количество оставшихся секунд. Вычтем минуты из шага 8 из секунд в шаге 8
...