Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Секунды в дату (несказанное)
Форумы портала PHP.SU » » Вопросы новичков » Секунды в дату (несказанное)

Страниц (1): [1]
 

1. St. - 12 Февраля, 2017 - 12:44:05 - перейти к сообщению
Вот сообственно само решение: http://forum.php.su/topic.php?fo...93220#1486893220

Код вот:
PHP:
скопировать код в буфер обмена
  1. function second_v_date($sekund)
  2.  
  3. {
  4.  
  5.     $dt = new DateTime('@' . $sekund);
  6.     return array('days'    => $dt->format('z'),
  7.                  'hours'   => $dt->format('G'),
  8.                  'minutes' => $dt->format('i'),
  9.                  'seconds' => $dt->format('s'));
  10. }




Подскажите пожалуйста, как добавить год? Закатив глазки
Что означают буквы z, G, i, s? Не понял
2. OrmaJever - 12 Февраля, 2017 - 14:29:37 - перейти к сообщению
St. пишет:
Подскажите пожалуйста, как добавить год?

считаем что в году только 365 дней
PHP:
скопировать код в буфер обмена
  1. function second_v_date($sec)
  2. {
  3.         return [
  4.                 'year'    => intval($sec/0x1E13380),
  5.                 'days'    => intval($sec%0x1E13380/86400),
  6.                 'hours'   => intval($sec%0x1E13380%86400/3600),
  7.                 'minutes' => intval($sec%0x1E13380%86400%3600/60),
  8.                 'seconds' => $sec%0x1E13380%86400%3600%60
  9.         ];
  10. }
  11. print_r(second_v_date(34754450));
3. St. - 12 Февраля, 2017 - 14:58:20 - перейти к сообщению
Спасибо. Улыбка

Дополнение.
% - возвращает 1 - если есть остаток от деления. 0 - если нет.
10%5 - будет 0.
5%2 - будет 1.

0x1E... - шестнадцатеричное число.
4. OrmaJever - 12 Февраля, 2017 - 15:59:35 - перейти к сообщению
St. пишет:
% - возвращает 1 - если есть остаток от деления. 0 - если нет.

нет, % это остаток от деления, 13 % 5 будет 3, т.к. 10 ровно делится на 5, а 3 это остаток от деления.
Аналог
PHP:
скопировать код в буфер обмена
  1. $num1 = 13;
  2. $num2 = 5;
  3. echo $num1 - intval($num1/$num2)*$num2;
5. St. - 13 Февраля, 2017 - 17:25:38 - перейти к сообщению
Спасибо.

Вот (как-то так): http://math-prosto[dot]ru/?page=page[dot][dot][dot]th_remainder.php

 

Powered by ExBB FM 1.0 RC1