Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Форматирование времени
 
 автор: OLi   (16.06.2011 в 23:41)   письмо автору
 
 

$dt=time()-$row['reg_date'];
и после приведения к нормальному виду выводит 1 января 1970 0
Что не так? И правильно ли это?

  Ответить  
 
 автор: cheops   (16.06.2011 в 23:47)   письмо автору
 
   для: OLi   (16.06.2011 в 23:41)
 

1) Что имеется в виду под нормальным видом?
2) Что находится в $row['reg_date']?

PS Поправьте если я ошибаюсь, вы применяете функцию date() к остатку от вычитания двух UNIXSTAMP-дат? Так не пойдет, date() форматирует дату в UNIXSTAMP-формате, интервал в секундах к ней не относится, нужно делить на 60 получать остаток, минуты, их снова делить на 60, получать остаток, часы, их делить на 24 и таким образом форматировать дату.

  Ответить  
 
 автор: OLi   (16.06.2011 в 23:48)   письмо автору
 
   для: cheops   (16.06.2011 в 23:47)
 

$row['reg_date'] //1308250424
Надо получит разность и вывести в днях и часах

  Ответить  
 
 автор: cheops   (16.06.2011 в 23:49)   письмо автору
 
   для: OLi   (16.06.2011 в 23:48)
 

Возможно вас ваша же тема :), двухмесячной давности заинтересует, там в конце как раз такая функция приводится http://softtime.ru/forum/read.php?id_forum=1&id_theme=80420.

  Ответить  
 
 автор: bab-nike   (16.06.2011 в 23:47)   письмо автору
 
   для: OLi   (16.06.2011 в 23:41)
 

функция time() возвращает количество секунд, прошедших с полуночи 01.01.1970,
вывод -такое возможно если $dt=0(или не существует, пусто), или при дальнейшей обработке что то не правильно делайте

  Ответить  
 
 автор: OLi   (16.06.2011 в 23:57)   письмо автору
 
   для: bab-nike   (16.06.2011 в 23:47)
 

Юзаю прошлую тему...вопрос, time () возвращает кол-во секунд прошедших с...делаю разницу с той датой что была раньше и преобразую
function dateformat($time)
{
$minutes = $hours = $days = 0;
$minutes = intval($time / 60);
if($minutes > 60)
{
$hours = intval($minutes / 60);
$minutes = $minutes % 60;
}
if($hours > 24)
{
$days = intval($hours / 24);
$hours = $hours % 24;
}
return "$days сут. $hours час. $minutes мин.";
}
При это результат страшный

  Ответить  
 
 автор: cheops   (17.06.2011 в 01:08)   письмо автору
 
   для: OLi   (16.06.2011 в 23:57)
 

Приведите конкретное значение $row['reg_date'], чтобы можно было воспроизвести ситуацию.

  Ответить  
 
 автор: MHz   (17.06.2011 в 01:12)   письмо автору
 
   для: OLi   (16.06.2011 в 23:57)
 

<?php

$Time 
$row['reg_date'] ;

$Date = new DateTime ();
$Date->setTimestamp ($Time);
$Interval $Date->diff (new DateTime ());
echo 
$Interval->format ('%d сут. %h час. %i мин.');

?>

  Ответить  
 
 автор: OLi   (18.06.2011 в 15:23)   письмо автору
 
   для: MHz   (17.06.2011 в 01:12)
 

что за кусок кода?

  Ответить  
 
 автор: MHz   (18.06.2011 в 19:37)   письмо автору
 
   для: OLi   (18.06.2011 в 15:23)
 

Вычисление разницы между $Time и текущим временем и форматированный вывод.

  Ответить  
 
 автор: Yuriev   (18.06.2011 в 20:08)   письмо автору
 
   для: OLi   (16.06.2011 в 23:41)
 

>и после приведения к нормальному виду выводит 1 января 1970 0
Поставьте echo для каждой переменной до "приведения" и увидите что от чего пытаетесь отнять.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования