|
|
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Округляю дату по дню, формат времени храню в целых числах UNIX_TIMESTAMP, временная зона у меня +6 Произвожу Код: sql 1. Получаю 2013-09-25 06:00:00. Почему время сдвигается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2013, 08:50:25 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Потому что from_unixtime (и соответственно смещение зоны), который учитывает зону, применяется ПОСЛЕ "округления". date(from_unixtime(datetime)) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2013, 09:05:46 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2013, 09:10:58 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
ничего не понимаю, объясните пожалуйста, вывожу 2 столбца со временем, ограничиваю его WHERE точно по времени. Один столбец округляю до дня, другой показывает действующее время, оба столбца проходят через функцию from_unixtime(), но результат разный. Код: sql 1. 2. 3. 4. 5. AND t0.date_time>@timemin AND t0.date_time< @timemax order by t0.id desc ; [/SRC] Результат получается Как видно, столбец с округлением до дня, отстает на 6 часов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 09:41:28 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Запрос почему то некорректно отобразился, подправляю. Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 09:43:31 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Akinafrom_unixtime (и соответственно смещение зоны), который учитывает зону, применяется ПОСЛЕ "округления" За время, прошедшее с момента публикации этого сообщения, поведление функции не изменилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 09:43:47 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Akina, это я понял, но почему тогда другой столбец from_unixtime(t0.date_time) не сместил зону? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 09:46:55 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
А ты ещё неизменённое t0.date_time, отформатированное в дату-время без учёта зоны , выведи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 09:59:29 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Akina, что то я не понял, объясните поподробней. Каким образом мне тогда округлить, без смещения зоны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 10:29:15 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Еще, время в базе данных лучше хранить в UTC или в местном времени? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 11:26:42 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
darlovКаким образом мне тогда округлить, без смещения зоны? DDL таблицы в студию darlovЕще, время в базе данных лучше хранить в UTC или в местном времени? Смотря где и для чего. Иногда лучше так, иногда эдак... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 11:43:44 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Akina, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 12:09:09 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Ага... штамп времени храните не в переменной типа TIMESTAMP, а в INT(11)? Это кто ж вам такую хню посоветовал? Смените тип поля. И вообще почитайте вот тут , просветляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 13:27:09 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Akina, Хорошо, поменяю, а это что то меняет в моей сложившейся проблеме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 13:53:21 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Представь, что у тебя числовое поле. В нём значения. И ты сортируешь. Как сортируется? 1,2,3...,9,10,11,12,... Теперь представь, что оно текстовое, и в нём АБСОЛЮТНО ТЕ ЖЕ значения. И ты сортируешь. Как сортируется? 1,10,11,12,...,2,3...,9,... Начинай наконец думать, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2013, 17:02:43 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Akina, ну и? временная метка Unix это целое число и в колонке int будет сортироваться как число, а не строка. Почему то определенная часть программистов используют int для unix времени. Возможно это не правильно, так как ты это утверждаешь и мне пока рано ссудить, опыт мал, но я не вижу разницы. може. у mysql свой алгоритм работы с типом timestamp к примеру валидация или выше производительность конвертации даты , разъясни пжта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2013, 07:22:40 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
darlovAkina, ну и? временная метка Unix это целое число Последний раз повторяю. Есть два типа данных: ВРЕМЕННАЯ МЕТКА ЧИСЛО Разницу между словами видишь? они даже разной длины! Так вот во всём остальном они точно так же различаются. То есть ни разу не похожи. И ведут они себя соответственно по-разному в одних и тех же условиях. И там, где таймштамп будет вести себя как надо, интеджер выписывает кренделя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2013, 21:14:46 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Akina, очень абстрактно объяснил, ну ладно раз положено буду хранить unix time в поле timestamp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2013, 09:08:36 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
Akina, вы меня сбили с толку, сейчас изменил тип поля на timestamp и все данные привились к виду "0000-00-00 00:00:00", этого мне не надо, я храню данные в виде 1380432945. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2013, 09:37:17 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
добавьте столбец таймштамп, забейте в него разово имеющиеся данные через фром_юникстайм и удалите уже нахрен этот инт... в конце концов, мускль не обязан иметь в своём арсенале имплицитные касты на все случаи жизни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2013, 05:08:55 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
tanglir добавьте столбец таймштамп, забейте в него разово имеющиеся данные через фром_юникстайм и удалите уже нахрен этот инт... Да с этим проблем нет, просто никак не определюсь с форматом хранения времени. tanglirв конце концов, мускль не обязан иметь в своём арсенале имплицитные касты на все случаи жизни. Вполне логично, просто в момент обучения сбили всякие блоги программистов утверждающие что лучшем способом является хранить unix_time в чистом виде (как целое число) в поле int(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2013, 07:15:49 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
darlov, если сервером предусмотрена возможность хранить тш как тш, зачем придумывать что-то ещё? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2013, 08:01:28 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
tanglir, Согласен, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2013, 08:08:16 |
|
||
|
Путаница с временной зоной
|
|||
|---|---|---|---|
|
#18+
darlovданные привились к виду "0000-00-00 00:00:00", этого мне не надо, я храню данные в виде 1380432945. Почему? причина какая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2013, 08:56:08 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38409268&tid=1835957]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 349ms |

| 0 / 0 |
