Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как оформить? Время в ISO


Recommended Posts

Есть у каждого товара время в секундах, и нужно их первести в ISO. Нашел вот такую Функцию на просторах...

 

function iso8601_duration($seconds)
{
  $intervals = array('D' => 60*60*24, 'H' => 60*60, 'M' => 60, 'S' => 1);

  $pt = 'P';
  $result = '';
  foreach ($intervals as $tag => $divisor)
  {
    $qty = floor($seconds/$divisor);
    if ( !$qty && $result == '' )
    {
      $pt = 'T';
      continue;
    }

    $seconds -= $qty * $divisor;    
    $result  .= "$qty$tag";
  }
  if ( $result=='' )
    $result='0S';
  return "$pt$result";
}

По наитию добавив на всякий слуай слово public пере словом function вставил ее в \model\product.php ))))  Обновил модификаторы на удивление сайт продолжил работать. Осталась вставить вторую половину кода... уже в шаблон. Время в секундах у меня зашито в SKU. По идее должно выглядеть как-то так наверно

 

<php $testranges = array(1, 60*60*24-1, 60*60*24*2, 60*60*24*60);
foreach ($testranges as $endval)
{
  $seconds = $sku;

  $duration = iso8601_duration($seconds);
  echo "Duration: $duration<br>\n";
  echo "<br>\n";
}
?>

но чего-то не работает. php не знаю, просто сравниваю символы как в других функциях.  Прошу хелпа.

 

 

Надіслати
Поділитися на інших сайтах


3 минуты назад, dimochkaorg сказал:

Осталась вставить вторую половину кода... уже в шаблон.

не

осталось в контроллере вызвать функцию из модели, результат передать в шаблон, вывести в шаблоне. 

а уже потом, может быть, заработает

Надіслати
Поділитися на інших сайтах

11 минут назад, fanatic сказал:

уже потом, может быть, заработает

в пхп есть функция date - от нее и пляши

(PHP 4, PHP 5, PHP 7)

dateФорматирует вывод системной даты/времени

https://www.php.net/manual/ru/function.date.php

Надіслати
Поділитися на інших сайтах

Контроллер мы не понимаем... Понятно дело что там как-то написать типо :-(

 

public function iso8601_duration() {
$this->load->language('product/product');
$seconds=$sku;
}

Так? :-)

Змінено користувачем dimochkaorg
Надіслати
Поділитися на інших сайтах


1 минуту назад, esculapra сказал:

в пхп есть функция date - от нее и пляши

(PHP 4, PHP 5, PHP 7)

dateФорматирует вывод системной даты/времени

https://www.php.net/manual/ru/function.date.php

Этим-то я пользуюсь спокойно... Но это же текущая дата.

Надіслати
Поділитися на інших сайтах


у date есть второй параметр. Первый - формат вывода, а второй - как раз время. Если его не ставить - будет текущее. А если поставить - нужное.

Змінено користувачем Prooksius
Надіслати
Поділитися на інших сайтах

Вот пример от моего проекта

   $age=86400*EXPIRE;
   header('Expires:'.gmdate('D, d M Y H:i:s', time()+ $age).' GMT');

EXPIRE может быть от 1 до 365 (суток)

$age=86400*EXPIRE; // первое значение - секунд в сутках (60*60*24)

time() - ткеущее время в unix-формате

gmdate('D, d M Y H:i:s', time()+ $age).' GMT'); форматирует дату и время с привязкой по Гринвичу

попробуй echo gmdate('D, d M Y H:i:s', time()+ 0).' GMT');

 

Змінено користувачем esculapra
  • +1 1
Надіслати
Поділитися на інших сайтах

15 минут назад, dimochkaorg сказал:

Этим-то я пользуюсь спокойно... Но это же текущая дата.

gmdate('D, d M Y H:i:s', time()+ $age).' GMT');

где $age может принимать отрицалово, например, - (минус) сутки (60*60*24)

  • +1 1
Надіслати
Поділитися на інших сайтах

19 минут назад, dimochkaorg сказал:

Этим-то я пользуюсь спокойно... Но это же текущая дата.

мой пример что делает? выставляет параметр expire для файлов (картинки, стили, скрипты), чтобы браузер их не загружал повторно, если они уже есть на машине. но тут можно и календарь организовать, передав в переменную 

$age

отнимание или прибавление.

поиграйся - тебе понравится, и опыт приобретешь

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.