|
|
|
| Имею:
$data="29.04.2011";
$min="17:16:17";
$arr_date=explode(".",$data);
$arr_min=explode(":",$min);
echo $date_end=$arr_min[0].','.$arr_min[1].','.$arr_min[2].','.$arr_date[1].','.$arr_date[0].','.$arr_date[2];
// Дает 17,16,17,04,29,2011
echo $date_end=mktime($date_end); // Дает 2011.04.28, 17:00:45 при выводе 1303995645 - последние цифры увеличиваются...
$new_date=date('F d H i s',$date_end);
|
Преобразовываю дату и время в формат UNIX для занесения в базу
Мне надо в обратную сторону из Unix вывести дату и намеченное время 17:16:17 | |
|
|
|
|
|
|
|
для: OLi
(28.04.2011 в 03:03)
| | Для этого удобно воспользоваться функцией date(), которая в первом параметре принимает строку формата, а во втором параметре дату в UNIXSTAMP-формате (если он не указывается берется текущее время). | |
|
|
|
|
|
|
|
для: cheops
(28.04.2011 в 08:52)
| | Можете пример привести...моя задача изначально перевести 29.04.2011 17:34:00 в unix для занесения в базу, а затем при выводе получить эту дату и время | |
|
|
|
|
|
|
|
для: OLi
(28.04.2011 в 11:48)
| | date('d.m.Y H:i:s',$date);
где $date время в unix | |
|
|
|
|
|
|
|
для: OLi
(28.04.2011 в 11:48)
| |
$data="29.04.2011";
$min="17:16:17";
$arr_date=explode(".",$data);
$arr_min=explode(":",$min);
echo $date_end=mktime($arr_min[0],$arr_min[1],$arr_min[2],$arr_date[1],$arr_date[0],$arr_date[2]);
$new_date=date('d.m.Y H:i:s',$date_end);
|
| |
|
|
|
|
|
|
|
для: Lotanaen
(28.04.2011 в 12:16)
| | Спасибо...и еще
Есть в unix дата начала и дата окончания
Хочу высчитать продолжительность от начала до окончания
date date_end
1304028000 1304036254
echo $long=$show_prew['date_end']-$show_prew['date'];
|
На выходе получаю: -1304028000
$long_time=date('h i s',$long); //04 00 00 | |
|
|
|
|
|
|
|
для: OLi
(29.04.2011 в 03:23)
| | Выведите значения переменных $show_prew['date_end'] и $show_prew['date'], скорее всего $show_prew['date_end'] пустая. Нужно выяснить почему. | |
|
|
|
|
|
|
|
для: cheops
(29.04.2011 в 09:04)
| | Да, была пустая...но при таком выводе, результат неточный:
$long=$show_prew['date_end']-$show_prew['date'];
$long_time=date('h i s',$long);
|
есть дата начала 1304028000 дата конца 1304036254 делаю разницу $long=$show_prew['date_end']-$show_prew['date'];
$long_time=date('h i s',$long); // для получения продолжительности получаю некорректный $long_time // 05 ч 17 мин 34 с а на самом деле 2 ч 17 мин
|
| |
|
|
|
|
|
|
|
для: OLi
(29.04.2011 в 15:00)
| | При помощи date у вас отформатировать эту дату уже не получится, date() ожидает дату в UNIXSTAMP-формате, здесь же разница в секундах. | |
|
|
|
|
|
|
|
для: cheops
(29.04.2011 в 15:25)
| | Как же быть? | |
|
|
|
|
|
|
|
для: OLi
(29.04.2011 в 15:00)
| | Т.е. действуют примерно так
<?php
$begin = 1304028000;
$end = 1304036254;
echo dateformat($end - $begin);
function dateformat($time)
{
$minutes = $hours = $days = 0;
$minutes = intval($time / 60);
if($minutes > 60)
{
$hours = intval($minutes / 60);
$minutes = $time % 60;
}
if($hours > 24)
{
$days = intval($hours / 24);
$hours = $hours % 24;
}
return "$days сут. $hours час. $minutes мин.";
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(29.04.2011 в 15:31)
| | В часах -старт, если перевести в 02:00:00, конец в 04:17:34
На выходе показывает разницу в: 2 час 34 мин | |
|
|
|
|
|
|
|
для: OLi
(29.04.2011 в 15:42)
| | Это в каком коде-то? | |
|
|
|
|
|
|
|
для: Lotanaen
(29.04.2011 в 17:52)
| | В том - который приведен выше | |
|
|
|
|
|
|
|
для: OLi
(29.04.2011 в 15:42)
| | Да, есть такое дело, вот исправленный вариант
<?php
$begin = 1304028000;
echo "begin = ".date("Y-m-d H:i:s", $begin)."<br>";
$end = 1304036254;
echo "end = ".date("Y-m-d H:i:s", $end)."<br>";
echo dateformat($end - $begin);
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 мин.";
}
?>
|
| |
|
|
|
|
|
|
|
для: OLi
(29.04.2011 в 15:00)
| | date прибавил 3 часа. это из-за часового пояса. просто чтоб знали | |
|
|
|