Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PHP, Perl, Python Новый топик    Ответить
 Проблема с датами.  [new]
Esofter
Member

Откуда:
Сообщений: 70848
Храню в бд даты в числовом формате как секунды от юникс-эры.
Пользователь вводит дату с помощью календаря. Приходит в пост массиве 2009-12-25.
Перевожу так
$new->new_date = date("U",$post->date);


Ошибка
A non well formed numeric value encountered

Как корректно перевести дату в этот формат? В мануале написано так как я делал.
14 дек 09, 21:12    [8065989]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
phpTeach
Member

Откуда: Столица
Сообщений: 377
mktime
14 дек 09, 21:15    [8065996]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
Esofter
Member

Откуда:
Сообщений: 70848
phpTeach
mktime


Полезная функция но параметрами у нее инты, а у меня стринг приходит(2009-12-25).
Что нет больше вариантов, только парсить строку, выбирать год,месяц, день и тогда подставлять в mktime()?
14 дек 09, 21:24    [8066018]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
an0nym
Member

Откуда:
Сообщений: 7078
Esofter,

strtotime.
14 дек 09, 21:29    [8066028]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
Esofter
Member

Откуда:
Сообщений: 70848
an0nym
Esofter,

strtotime.


Сделал так:
               $y = date("y",strtotime($post->date));
               $m = date("m",strtotime($post->date));
               $d = date("d",strtotime($post->date));
               $new->new_date = mktime(0,0,0,$d,$m,$y);

Пишет нормально, а вот когда вывожу совсем другая дата выходит
date("d:m:Y",$new->new_date)

Наверно я пишу количество минут, а когда считываю, возвращаю количество секунд. Потому что дата, которую я считал больше чем та которую я писал.
14 дек 09, 21:45    [8066070]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
phpTeach
Member

Откуда: Столица
Сообщений: 377
$list($y, $m, $d) = explode('-', $post->date);
$new->new_date = mktime(0, 0, 0, $m, $d, $y);
14 дек 09, 21:48    [8066087]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
phpTeach
Member

Откуда: Столица
Сообщений: 377
int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
Посмотри внимательнее, в какой последовательности идут аргуметы
14 дек 09, 21:50    [8066093]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
Esofter
Member

Откуда:
Сообщений: 70848
phpTeach
int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
Посмотри внимательнее, в какой последовательности идут аргуметы


Епт. Спасибо. Теперь работает.

ЗЫ: Чем больше пишу на пыхе тем больше его ненавижу.
14 дек 09, 21:55    [8066118]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
an0nym
Member

Откуда:
Сообщений: 7078
Esofter,

к чему такие извращения... echo date('d.m.Y', strtotime($date));
14 дек 09, 22:08    [8066183]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
Esofter
Member

Откуда:
Сообщений: 70848
an0nym
Esofter,

к чему такие извращения... echo date('d.m.Y', strtotime($date));


Что значит извращения? Сказал же дату храню в инте а не в дататайме.
14 дек 09, 22:11    [8066208]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
an0nym
Member

Откуда:
Сообщений: 7078
Esofter,

еще лучше - echo strtotime($date);
14 дек 09, 22:12    [8066220]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с датами.  [new]
Дегтярев Евгений
Member

Откуда: Барнаул
Сообщений: 1169
Esofter
an0nym
Esofter,

к чему такие извращения... echo date('d.m.Y', strtotime($date));


Что значит извращения? Сказал же дату храню в инте а не в дататайме.

Мы понимаем, а вот вы совершенно не понимаете, что вы делаете...
15 дек 09, 06:16    [8066726]     Ответить | Цитировать Сообщить модератору
Все форумы / PHP, Perl, Python Ответить
 
Лучший учебный центр Microsoft!
Новейшие курсы Microsoft SQL Server 2014!
ОЧЕНЬ привлекательные цены на курсы Oracle — от 26 тыс.руб.!
Все курсы по базам данных: Microsoft SQL Server 2014, Oracle, IBM DB2, Access, MySql