[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вытаскиваем данные из date(c)
Страницы: 1, 2
lop_atin
Здравствуйте, получить дату я смог :)


$date = date(c);

echo $date;

// 2014-01-27T21:50:41+04:00


Теперь допустим, я это добавляю в БД, но как мне в будущем рационально вытащить допустим число-месяц-год?

Я пробовал:

$year = $date[0].$date[1].$date[2].$date[3];


В итоге получу год: 2014

Теперь вопрос к профи: как правильно доставать данные из строки: 2014-01-27T21:50:41+04:00

То, что сделал я вообще допустимо? Есть ли лучшие решения?
Valick
lop_atin, смотря что вам нужно
если просто записать дату в БД, то есть функция NOW()
да и вообще


_____________
Стимулятор ~yoomoney - 41001303250491
lop_atin
Цитата (Valick @ 27.01.2014 - 22:34)
lop_atin, смотря что вам нужно
если просто записать дату в БД, то есть функция NOW()
да и вообще

Вы меня не правильно поняли, дату я уже получил и записал в БД, там у меня вот такая строчка:

2014-01-27T21:50:41+04:00

Теперь, когда я вытаскиваю эту строчку, мне нужно получить из нее дату, например вот в таком формате:

27 января в 21:50

для этого мне нужно по очереди получить:

1. Число.
2. Номер месяца (потом номер сопоставить с названием месяца).
3. Время.

Я вот и спрашиваю, как из самой верхней строчки разумно "достать" данные покажите на примере года.

Я вот предложил вот такой вариант:

$year = $date[0].$date[1].$date[2].$date[3];

Но думаю, что он рациональный...
Valick
Цитата
там у меня вот такая строчка:

2014-01-27T21:50:41+04:00

там не должно быть такой строки
тип поля должен быть DATE, DATETIME, TIMESTAMP
и сходите по ссылке


_____________
Стимулятор ~yoomoney - 41001303250491
lop_atin
Цитата (Valick @ 27.01.2014 - 22:46)
Цитата
там у меня вот такая строчка:

2014-01-27T21:50:41+04:00

там не должно быть такой строки
тип поля должен быть DATE, DATETIME, TIMESTAMP
и сходите по ссылке

Да, там такого поля нет. Но зачем же существует такой тип даты, как привел я?

Если существует, значит его можно использовать, а если можно использовать, то:
как из него получить год, месяц, время?
Valick
lop_atin, вас лопатой по голове не били? если нет, то самое время стукнуть...
вы задали вопрос
Цитата
Есть ли лучшие решения?

я на него ответил
чё тупим-то?

_____________
Стимулятор ~yoomoney - 41001303250491
lop_atin
Цитата (Valick @ 27.01.2014 - 22:57)
lop_atin, вас лопатой по голове не били? если нет, то самое время стукнуть...
вы задали вопрос
Цитата
Есть ли лучшие решения?

я на него ответил
чё тупим-то?

Вашим способом я не знаю как определить время в других временных зонах. В моем случаи учитывается часовой пояс. В вашем не находил.

Я спрашивал, не про лучший способ нахождения других типов дат, а про то, как лучше из строки моей достать данные, но и за другие типы дат спасибо.
Valick
Цитата
я не знаю как определить время в других временных зонах

smile.gif
читайте про типы полей в MySQL в частности про TIMESTAMP


_____________
Стимулятор ~yoomoney - 41001303250491
lop_atin
Цитата (Valick @ 27.01.2014 - 23:07)
Цитата
я не знаю как определить время в других временных зонах

smile.gif
читайте про типы полей в MySQL в частности про TIMESTAMP

Почему просто я попытался узнать про свой способ более подробно, т.к. я понял, что такой формат времени использует ВК.

Вот пруф: https://vk.com/dev/widget_comments

"date - текущая дата в формате ISO 8601 (например, 2004-02-12T15:19:21+00:00)"

Не думаю, что такая соц. сеть как ВК будет использовать худшие способы, наоборот она должна выбирать лучшие (быстрые, понятные...) форматы.
Valick
и где там написано что в БД дата лежит именно в таком формате?
применение типов полей даты и времени позволяет работать с этими данными на уровне СУРБД
если вы храните дату в не родном формате для БД, то она у вас там лежит "мертвым грузом"
___
вот скажите оно мне надо вас уговаривать?

_____________
Стимулятор ~yoomoney - 41001303250491
linker
lop_atin
Слушайте, что вам люди говорят. А для познания, как вытащить год, месяц, время
$date = '2014-01-27T21:50:41+04:00';
echo 'год ' . date('Y', strtotime($date));
echo 'месяц ' . date('m', strtotime($date));
echo 'время ' . date('H:i', strtotime($date));


_____________
Gear Framework
Gear Framework на Github
lop_atin
Цитата (linker @ 27.01.2014 - 23:40)
lop_atin
Слушайте, что вам люди говорят. А для познания, как вытащить год, месяц, время
$date = '2014-01-27T21:50:41+04:00';
echo 'год ' . date('Y', strtotime($date));
echo 'месяц ' . date('m', strtotime($date));
echo 'время ' . date('H:i', strtotime($date));

спасибо
lop_atin
Цитата (Valick @ 27.01.2014 - 23:28)
и где там написано что в БД дата лежит именно в таком формате?
применение типов полей даты и времени позволяет работать с этими данными на уровне СУРБД
если вы храните дату в не родном формате для БД, то она у вас там лежит "мертвым грузом"
___
вот скажите оно мне надо вас уговаривать?

я просто раньше с датой вообще не имел дело, вот и не опытный в этом вопросе. спасибо за ссылку, дальше буду опираться на ваши советы при изучении этого материала
Valick
lop_atin, если вы будете хранить дату в виде 2014-01-27T21:50:41+04:00, с типом поля скорее всего VARCHAR, то вы даже отсортировать записи по этому полю не сможете

и
$date = '2014-01-27T21:50:41+04:00';
echo 'зона ' . date('P', strtotime($date));


_____________
Стимулятор ~yoomoney - 41001303250491
lop_atin
Цитата (Valick @ 28.01.2014 - 00:27)
lop_atin, если вы будете хранить дату в виде 2014-01-27T21:50:41+04:00, с типом поля скорее всего VARCHAR, то вы даже отсортировать записи по этому полю не сможете

и
<pre class="sh_sourceCode" rel="php"><span class="sh_variable">$date</span> <span class="sh_symbol">=</span> <span class="sh_string">'2014-01-27T21:50:41+04:00'</span><span class="sh_symbol">;</span>
<span class="sh_function">echo</span> <span class="sh_string">'зона '</span> <span class="sh_symbol">.</span> <span class="sh_function">date</span><span class="sh_symbol">(</span><span class="sh_string">'P'</span><span class="sh_symbol">,</span> <span class="sh_function">strtotime</span><span class="sh_symbol">(</span><span class="sh_variable">$date</span><span class="sh_symbol">));</span></pre>

спасибо за дополнение!

просто я себе слабо представляю где в своих проектах я буду использовать сортировку по времени...., может вы меня подправите и приведете весомые аргументы.

мне дата нужна просто для того, чтобы в конце каждой записи у пользователя выводилась дата ее написания. ну и чтобы учитывался часовой пояс... все...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.