Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) 1 [2]  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Выборка данных по определенным датам, За месяц,за год и т.д.
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 19 дней
Карма: 725

Не курю:
1 год, 2 месяца, 5 дней


Эли4ка
так я всего лишь повторил слова, ваше написанные, ответчиков) я по сути ничего и не сделал вообще)

как бы они оба в цвет ответили одинаково)


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 1 день
Карма: 591




Цитата (Эли4ка @ 22.11.2016 - 15:36)
Боже.какая я тупая...я два дня полоскала всем мозги такой простой фигней...нет.чтобы почитать мануал...
ребят,плюсики в репутацию чуть позже-сейчас закреплю,чтобы не забыть
Спасибо всем огромное :)

За что спасибо? За то что направили по ложному пути?
Цитата (depp @ 21.11.2016 - 12:02)
unixtime - плохой формат хранения даты в базе. мое мнение.

Цитата (Игорь_Vasinsky @ 22.11.2016 - 14:32)
Эли4ка
ну про формат хранения данных надеюсь тебе понятно - крайне не удачный.

Что за коллективный бред? user posted image

Цитата (Эли4ка @ 21.11.2016 - 09:45)
зная смещение часового пояса(оно известно,ничего определять php,mysql'ом не нужно)

вообще никаких проблем, после инициализации коннекта бд
SET time_zone='+03:00'
и забудь про костыли с конвертацией часовых поясов.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Эли4ка  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Богиня-девственница
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3189
Пользователь №: 27007
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 32

Не пью :
23 года, 11 месяцев, 14 дней


killer8080,эм..а почему по ложному?Ведь я показала свой запрос,и он работает.как надо?

Цитата
вообще никаких проблем, после инициализации коннекта бд

SET time_zone='+03:00'

и забудь про костыли с конвертацией часовых поясов.

а SELECT как делать?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
depp  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 290
Пользователь №: 40589
На форуме: 1 год, 11 месяцев, 29 дней
Карма: 19




Цитата (killer8080 @ 22.11.2016 - 20:53)
Что за коллективный бред?

бред? раз делаешь такие заявления - неплохо было бы высказать почему ты так думаешь.
иначе голословное утверждение.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 19 дней
Карма: 725

Не курю:
1 год, 2 месяца, 5 дней


Цитата
а SELECT как делать?



SET time_zone='+03:00';
SELECT.......


но уже нет необходимости в самом селекте часовой пояс учитывать

но чёт сдаётся - это не твой случай, если в запросе 2 разных пояса


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 1 день
Карма: 591




Цитата (Эли4ка @ 23.11.2016 - 07:05)
killer8080,эм..а почему по ложному?Ведь я показала свой запрос,и он работает.как надо?

потому что решение костыльное, каждый раз в каждом запросе нужно помнить о необходимости конвертации TZ.
Цитата (Эли4ка @ 23.11.2016 - 07:05)
а SELECT как делать?

как обычно, timestamp будет выводится в соответствии с текущим часовым поясом.
Цитата (Игорь_Vasinsky @ 23.11.2016 - 12:26)
но чёт сдаётся - это не твой случай, если в запросе 2 разных пояса

у каждого пользователя свой часовой пояс, одновременно не нужно работать с двумя.
time_zone сессионная переменная, она действует только для текущего соединения с бд.
http://dev.mysql.com/doc/refman/5.7/en/ser...ysvar_time_zone
Цитата (depp @ 23.11.2016 - 11:13)
бред? раз делаешь такие заявления - неплохо было бы высказать почему ты так думаешь.
иначе голословное утверждение.

Ну раз это не очевидно, объясню smile.gif
Всегда и везде где можно использовать timestamp, нужно использовать timestamp. DATETIME нужно избегать и использовать только там, где дата выходит за диапазон timestamp. К сожаления mysql слишком консервативный в этом плане и до сих пор использует 31 бит для этого формата. В PHP такой проблемы давно нет, во первых допускаются отрицательные значения int, во вторых в 64 битном PHP. timestamp 64 бита, что с лихвой перекрывает потребности. В mysql же приходится мирится с устаревшим подходом.
Чем timestamp лучше datetime?
- время в нём в абсолютном формате, всегда в UTC и не зависит от настроек сервера, СУБД автоматически конвертирует его на лету при выводе и вводе в соответствии со значением time_zone
- использовать now() и т.п. не задумываясь над тем какой часовой пояс на сервере, при переносе базы с одного хостинга на другой можно быть уверенным, что ничего не сломается, новые записи будут с правильным временем, и не окажутся старше предыдущих, с другого сервера из-за географической разности во времени.
- не нужны костыли с конвертацией в каждом запросе.
- автоматическая инициализация (для DATETIME стала доступна только с версии 5.6)

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Эли4ка  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Богиня-девственница
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3189
Пользователь №: 27007
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 32

Не пью :
23 года, 11 месяцев, 14 дней


Цитата
потому что решение костыльное, каждый раз в каждом запросе нужно помнить о необходимости конвертации TZ

killer8080,а так придется ставить
SET time_zone='+03:00';

перед запросом?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 4 дня
Карма: 77




killer8080
Просто уточнить.
Если разница во времени хранится в БД (в часах int(1) ), возможен вариант, установить time_zone после выборки, чтобы все дальнейшие действия заносились с учетом часового пояса ?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 1 день
Карма: 591




Цитата (Эли4ка @ 23.11.2016 - 14:18)
killer8080,а так придется ставить
SET time_zone='+03:00';

перед запросом?

правильней сказать, инициировать переменную после установки соединения с бд, Не вижу тут никаких проблем, это в любом случае нужно делать, так же как и устанавливать кодировку. В любом случае это делается один раз, а не в каждом запросе. С datetime ты можешь только догадываться какая была настройка сервера в тот момент, когда заносилась запись, особенно проблем это доставит с переходами зимнее/летнее время.
Цитата (Kusss @ 23.11.2016 - 15:00)
killer8080
Просто уточнить.
Если разница во времени хранится в БД (в часах int(1) ), возможен вариант, установить time_zone после выборки, чтобы все дальнейшие действия заносились с учетом часового пояса ?

эта просто переменная, ты можешь её менять хоть перед каждым запросом, но обычно надобности в этом нет.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 4 дня
Карма: 77




killer8080
Ну у меня пользователь привязан к магазинам, а магазин может быть в другом часовом поясе. Между магазинами можно переподключаться, отсюда и вопрос.
Я понял что это как раз самое то.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Эли4ка  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Богиня-девственница
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3189
Пользователь №: 27007
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 32

Не пью :
23 года, 11 месяцев, 14 дней


Цитата
С datetime ты можешь только догадываться какая была настройка сервера в тот момент, когда заносилась запись, особенно проблем это доставит с переходами зимнее/летнее время.

killer8080,выставлять UTC или GMT ??

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 1 день
Карма: 591




Цитата (Эли4ка @ 23.11.2016 - 18:50)
killer8080,выставлять UTC или GMT ??

Само собой, и потом при выводе конвертить, а если в базу пишутся дата/время введённые пользователем, то же не забывать конвертировать. Вопрос только зачем такие сложности, когда есть timestamp и автоматический вывод в текущей TZ.

Цитата (Kusss @ 23.11.2016 - 17:07)
killer8080
Ну у меня пользователь привязан к магазинам, а магазин может быть в другом часовом поясе. Между магазинами можно переподключаться, отсюда и вопрос.
Я понял что это как раз самое то.

Не совсем понял, что значит "переподключать пользователя"? Это разные магазины, на разных серверах, с разными бд?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Эли4ка  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Богиня-девственница
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3189
Пользователь №: 27007
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 32

Не пью :
23 года, 11 месяцев, 14 дней


killer8080
Цитата
при выводе конвертить
,
CONVERT_TZ
им же?или
 SET time_zone

?
И тогда получается если пользователь хочет получить данные за 2016 24 ноября 11 часов 23 минуты мы ставим SET time_zone кконвертируем время в unix и SELECT?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8735
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 1 день
Карма: 591




Цитата (Эли4ка @ 24.11.2016 - 09:25)
И тогда получается если пользователь хочет получить данные за 2016 24 ноября 11 часов 23 минуты мы ставим SET time_zone кконвертируем время в unix и SELECT?

ничего конвертировать не нужно, установила в time_zone часовой пояс пользователя и работаешь так, как если бы юзер и сервер находились в одном часовом поясе. Если он ввел "2016 24 ноября 11 часов 23 минуты", значит получит выборку относительно своего, локального времени.
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Эли4ка  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Богиня-девственница
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3189
Пользователь №: 27007
На форуме: 5 лет, 8 месяцев, 9 дней
Карма: 32

Не пью :
23 года, 11 месяцев, 14 дней


killer8080
поняла cool.gif rolleyes.gif спасибо огромное,что разъяснили
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) 1 [2]  Ответ в темуСоздание новой темыСоздание опроса