lop_atin
27.01.2014 - 22:31
Здравствуйте, получить дату я смог :)
$date = date(c);
echo $date;
Теперь допустим, я это добавляю в БД, но как мне в будущем рационально вытащить допустим число-месяц-год?
Я пробовал:
$year = $date[0].$date[1].$date[2].$date[3];
В итоге получу год: 2014
Теперь вопрос к профи: как правильно доставать данные из строки: 2014-01-27T21:50:41+04:00
То, что сделал я вообще допустимо? Есть ли лучшие решения?
Valick
27.01.2014 - 22:34
lop_atin, смотря что вам нужно
если просто записать дату в БД, то есть функция NOW()
да и вообще
_____________
Стимулятор ~yoomoney - 41001303250491
lop_atin
27.01.2014 - 22:39
Цитата (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
27.01.2014 - 22:46
Цитата |
там у меня вот такая строчка:
2014-01-27T21:50:41+04:00 |
там не должно быть такой строки
тип поля должен быть DATE, DATETIME, TIMESTAMP
и сходите по ссылке
_____________
Стимулятор ~yoomoney - 41001303250491
lop_atin
27.01.2014 - 22:54
Цитата (Valick @ 27.01.2014 - 22:46) |
Цитата | там у меня вот такая строчка:
2014-01-27T21:50:41+04:00 |
там не должно быть такой строки тип поля должен быть DATE, DATETIME, TIMESTAMP и сходите по ссылке
|
Да, там такого поля нет. Но зачем же существует такой тип даты, как привел я?
Если существует, значит его можно использовать, а если можно использовать, то:
как из него получить год, месяц, время?
Valick
27.01.2014 - 22:57
lop_atin, вас лопатой по голове не били? если нет, то самое время стукнуть...
вы задали вопрос
Цитата |
Есть ли лучшие решения? |
я на него ответил
чё тупим-то?
_____________
Стимулятор ~yoomoney - 41001303250491
lop_atin
27.01.2014 - 23:00
Цитата (Valick @ 27.01.2014 - 22:57) |
lop_atin, вас лопатой по голове не били? если нет, то самое время стукнуть... вы задали вопрос
Цитата | Есть ли лучшие решения? |
я на него ответил чё тупим-то?
|
Вашим способом я не знаю как определить время в других временных зонах. В моем случаи учитывается часовой пояс. В вашем не находил.
Я спрашивал, не про лучший способ нахождения других типов дат, а про то, как лучше из строки моей достать данные, но и за другие типы дат спасибо.
Valick
27.01.2014 - 23:07
Цитата |
я не знаю как определить время в других временных зонах |
читайте про типы полей в MySQL в частности про TIMESTAMP
_____________
Стимулятор ~yoomoney - 41001303250491
lop_atin
27.01.2014 - 23:12
Цитата (Valick @ 27.01.2014 - 23:07) |
Цитата | я не знаю как определить время в других временных зонах |
читайте про типы полей в MySQL в частности про TIMESTAMP |
Почему просто я попытался узнать про свой способ более подробно, т.к. я понял, что такой формат времени использует ВК.
Вот пруф:
https://vk.com/dev/widget_comments"date - текущая дата в формате ISO 8601 (например, 2004-02-12T15:19:21+00:00)"Не думаю, что такая соц. сеть как ВК будет использовать худшие способы, наоборот она должна выбирать лучшие (быстрые, понятные...) форматы.
Valick
27.01.2014 - 23:28
и где там написано что в БД дата лежит именно в таком формате?
применение типов полей даты и времени позволяет работать с этими данными на уровне СУРБД
если вы храните дату в не родном формате для БД, то она у вас там лежит "мертвым грузом"
___
вот скажите оно мне надо вас уговаривать?
_____________
Стимулятор ~yoomoney - 41001303250491
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));
_____________
Gear FrameworkGear Framework на Github
lop_atin
28.01.2014 - 00:06
Цитата (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
28.01.2014 - 00:19
Цитата (Valick @ 27.01.2014 - 23:28) |
и где там написано что в БД дата лежит именно в таком формате? применение типов полей даты и времени позволяет работать с этими данными на уровне СУРБД если вы храните дату в не родном формате для БД, то она у вас там лежит "мертвым грузом" ___ вот скажите оно мне надо вас уговаривать? |
я просто раньше с датой вообще не имел дело, вот и не опытный в этом вопросе. спасибо за ссылку, дальше буду опираться на ваши советы при изучении этого материала
Valick
28.01.2014 - 00:27
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
28.01.2014 - 00:37
Цитата (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> |
спасибо за дополнение!
просто я себе слабо представляю где в своих проектах я буду использовать сортировку по времени...., может вы меня подправите и приведете весомые аргументы.
мне дата нужна просто для того, чтобы в конце каждой записи у пользователя выводилась дата ее написания. ну и чтобы учитывался часовой пояс... все...
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.