|
|
|
| Как получить разность дат в днях, часах или минутах. | |
|
|
|
|
|
|
|
для: Valleri
(09.06.2011 в 14:48)
| | Преобразовать даты в секунды, вычесть, а разницу уже преобразовать в минуты, часы или дни. | |
|
|
|
|
|
|
|
для: cheops
(09.06.2011 в 14:51)
| | Это известно.
А в каком формате это делать? | |
|
|
|
|
|
|
|
для: Valleri
(09.06.2011 в 14:54)
| | в цифровом :)
вы сейчас о РНР чечь ведете? База используется? если используется, то нужно там работать с датами. | |
|
|
|
|
|
|
|
для: Valick
(09.06.2011 в 15:07)
| | 1. надо записывать в файле.( в формате для сортировки)
2. потом, считывать из базы и сравнивать с текущей.
3. сравнивать текущею с записанной и получать разницу в секундах, минутах...
. | |
|
|
|
|
|
|
|
для: Valleri
(09.06.2011 в 15:19)
| | 1. нафига вообще что-то сохранять в файле если используется база данных?
2. 2 и 3 пункты нужно решать средствами СУБД и уже сразу доставать из базы разницу во времени. | |
|
|
|
|
|
|
|
для: Valick
(09.06.2011 в 19:33)
| | 1. нафига вообще что-то сохранять в базе данных если используется файл
2. 2 и 3 пункты нужно решать одной строчкой кода. | |
|
|
|
|
|
|
|
для: Valleri
(09.06.2011 в 21:04)
| | Самый первый ответ был один из самых удачных и правильных, что вам не понравилось в нем?
если хотите сделать одной строчкой - создайте функцию, на вход которой подается два параметра - даты, разность которых надо узнать...
затем используйте эту функцию, и будет вам однострочное счастье | |
|
|
|
|
|
|
|
для: Valleri
(09.06.2011 в 21:04)
| | Если не сложно, приведите пример ваших дат. В каком формате они у вас хранятся? | |
|
|
|
|
|
|
|
для: cheops
(10.06.2011 в 12:03)
| | Вы могли бы свой, первый пример привести, сделать небольшую подсказку, задать направление для мысли. Может бы то, что на ум вам пришло, мне и подошло?
Мой вопрос на стадии алгоритма, ФОРМАТ дат не определен, не задан, не выбран.
Любое Ваше предложение будет интересным, полезным, нужным и может стать отправной точкой, основополагающей идеей, зерном для поиска.
Может так, год-мес-день-час-мин-час-сек, а может иначе.
У меня нет опыта работы с датами, я не знаю какой формат для дат лучше выбрать, что-бы потом создать экономичный код и получить разность дат. Об этом и вопрос. | |
|
|
|
|
|
|
|
для: Valleri
(10.06.2011 в 12:26)
| | Тогда там где возможно используйте формат UNIXSTAMP, т.е. храните количество секунд от 1970 года. Это самый экономичный, быстрый и удобный формат из существующих (получить его можно при помощи функций time() и mktime()). Если это невозможно, приводите ваш текущий формат к формату UNIXSTAMP и уже вычисляйте разницу на основании секунд. Возможно вам будет интересна тема по ссылке http://softtime.ru/forum/read.php?id_forum=1&id_theme=80490. В ней к сожалению, время не учитывается, но это можно поправить - если у вас вызовет это затруднение, мы поможем. | |
|
|
|
|
|
|
|
для: cheops
(10.06.2011 в 13:08)
| | Вот спасибо. огромное.
Интересно, там тоже начинается "Преобразование даты".
А как надо было задавать вопрос.
В логике, как науке, есть логика вопросов. Мною были учтены научные достижения.
А какие варианты возможны правильных вопросов, если человек новичок(я) и НЕ ПОНИМАЕТ ВСТРЕЧНЫХ ВОПРОСОВ.
Не ради склоки, ради истины, не для личного самолюбия, а для осознания своих ошибок, исправления их, что бы для других было также полезно, наглядно и впредь не повадно | |
|
|
|
|
|
|
|
для: Valleri
(10.06.2011 в 13:17)
| | >А как надо было задавать вопрос.
Сейчас задавайте так, как задается. Просто когда вы будете задавать вопросы идеально, вам уже отвечающие нафиг будут не нужны :)))
>А какие варианты возможны правильных вопросов, если человек новичок(я) и НЕ ПОНИМАЕТ
>ВСТРЕЧНЫХ ВОПРОСОВ.
Ничего страшного в этом нет - просто говорите "не понял", не могли бы вы рассказать более подробно, а также сами более подробно описывайте ситуацию. Если задача очень сложная, нет долго ответов. Лучше её разбить на отдельные вопросы - дело в том, что отвечающие, как правило, отводят лимит на ответ, если они видят, что написание ответа этот лимит превышает - они либо не отвечают, либо пишут отписку, иногда встречный вопрос задают в надежде, что задачу можно решить более простыми способами. Например, про MySQL не просто так в теме спрашивали - у неё очень мощные инструменты для работы со временем и практически любую задачу можно решить в одну строку. В любом случае не волнуйтесь и задавайте вопрос столько, сколько вам нужно. Чем можем - поможем :) | |
|
|
|
|
|
|
|
для: cheops
(10.06.2011 в 13:25)
| | Спасибо еще раз. У вас наверное широкий кругозор и огромный опыт, вы очень мужественно и стойко боролись за истину.
Спасибо большое, искренне Вам приношу свою благодарность | |
|
|
|
|
|
|
|
для: Valleri
(09.06.2011 в 14:54)
| | Под форматом что имеется в виду? У вас записи меток времени в базе данных? В поле какого типа они хранятся? DATETIME? | |
|
|
|
|
|
|
|
для: cheops
(09.06.2011 в 16:56)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Valleri
(09.06.2011 в 18:04)
| | Я просто это тут оставлю, пусть полежит.
невозможно написать приблизительный скрипт если не известно в каком формате хранится дата изначально. То есть, если это "1 января 2011 года", то придется дополнительно парсить дату. Если это GMT формат, то все проще.
Как минимум, вы огульно даете характеристику cheops не зная что это модератор данного форума и соавтор книг о PHP а также программист с большим стажем. Как максимум - хамите.
Этот форум - одно из немногих мест, где реально "сюсюкаются" с совсем новичками и отвечают на такие вопросы, с которыми на других форумах просто засмеют и пошлют в гугл или куда подальше. Я сам сижу здесь давно и сам получал ответы и вырос до определенного уровня благодаря этому форуму. И видел других таких же, которые начинали с примитивных вопросов и заканчивали профессионалами.
А вы приходите, задаете обычный, в общем-то вопрос, а потом не хотите чтобы вам на него ответили. Да еще и хамите. Нехорошо. | |
|
|
|
|
|
|
|
для: SHAman
(10.06.2011 в 11:56)
| | Я не знаю в каком формате лучше для этой цели хранить дату.
У меня нет опыта работы с датами.
Я спрашиваю, как лучше это сделать.
Я не знаю, почему на один МОЙ ВОПРОС, СТО ВСТРЕЧНЫХ ВОПРОСОВ.
Какие форматы дат существуют - я не знаю.
Приведите пожалуйста свой пример, может он мне подойдет.
Проблема будет решена, все зависит от Вас.
Может ваш пример станет отправной точкой и основной идеей.
Я думаю, что тот формат, который используете вы, лучше моего, взятого с потолка.
Ведь у меня нет опыта работы с датами, их форматами, преобразованиями форматов. | |
|
|
|
|
|
|
|
для: Valleri
(10.06.2011 в 12:35)
| | >Я не знаю, почему на один МОЙ ВОПРОС, СТО ВСТРЕЧНЫХ ВОПРОСОВ.
Не волнуйтесь, в случае времени и вообще календарных типов, это нормально. С ним очень много заморочек (некоторые инструменты предоставляют более лучшие возможности, некоторые более скудные), поэтому нужно просто терпеливо двигаться в нужную вам сторону, уточняя и уточняя вопрос и ваши условия (что вам подходит, а что неприемлемо, будут ли использоваться русские названия месяцев, нет ли возможности использовать MySQL - это все обычные в этом случае вопросы). Отталкиваться лучше всегда от UNIXSTAMP: для программистов это самый удобный формат. Понятно, что пользователям он не годится, и вам придется его преобразовывать бесчетное количество раз, но хранить данные лучше в нем. Операция получения разницы во времени осуществляется обычным вычитанием, а отформатировать время уже не составит труда. | |
|
|
|
|
|
|
|
для: cheops
(10.06.2011 в 13:15)
| | Спасибо за внимательное и дружелюбное отношение.
А вот это, UNIXSTAMP, очень полезно. На практике встречаешь, что у каждого свой стандарт, свой ГОСТ, и каждый доказывает, что он лучше.
Я же считаю, что есть вещи, которые обкатаны и обтесаны поворотами времени. Я не изобретаю форматы, поэтому и не знаю какие есть и какие лучше.
Выбран был дедуктивный вопрос. В жизни обычно определяют облик, образ. модель желаний, а потом её специфицируют. Правда в программировании, наверное особенно сейчас, год задан и надо доработать.
Две разные линии, как две судьбы:"Есть код - надо доработать, нет кода, надо начать".
Мой второй вариант. | |
|
|
|
|
|
|
|
для: cheops
(09.06.2011 в 16:56)
| | Нет ни какого формат дат. База данных - файловая.
Мой вопрос:"Как получить разность дат в днях, часах или минутах", - не связан с базами данных.
Какие форматы бывают - я не знаю, в каком лучше это делать - мне не известно.
Я не могу ответить на Ваш вопрос однозначно и точно.
Я решаю вопрос от конца, дедуктивно.
Вопрос можно было и так задать:"В каком формате лучше хранить даты, что-бы проще получить разность дат в днях, часах или минутах?"
В этом случае, логика развития пойдет индуктивно и у меня после одного вопроса будут конечно еще вопросы, что с моей точки зрения напоминает допрос.
Поэтому вопрос:"Как лучше получить разность дат в днях, часах или минутах?", надо дополнить. И в каком формате лучше хранить для этого даты, если данные в файловой базе данных? | |
|
|
|
|
|
|
|
для: Valleri
(10.06.2011 в 12:49)
| | Ответил в сообщении cheops (10.06.2011 в 13:08). | |
|
|
|