@proRuby

Страница 186 из 1594
Alex
09.09.2016
01:14:35
бля

запрос в utc идет

все еще не вижу проблемы.

Amir
09.09.2016
01:14:50
такой какой как DateTime.current

Google
Alex
09.09.2016
01:15:13
Time.current.utc

(вроде)

Amir
09.09.2016
01:15:56
в БД я данные занес в ActiveAdmin и если зайти в сам майск и сделать зарпосы то датывремя вроде нормальные , такие какие я установил в админке

Alex
09.09.2016
01:16:14
Главное как в базе они у тебя хранятся

Получи их как TIMESTAMP и сверь с тем что в рельсе получаешь

Amir
09.09.2016
01:16:31
а если зайти в консоли рельц и сделать запрос Foo.where("?", DateTime.now) то рельцы передают дату время без таймзоны

Alex
09.09.2016
01:16:39
или просто получи их в UTC и посмотри что все ок

в "майке"

возможно mysql сам конвертирует дату под клиента

Amir
09.09.2016
01:22:35
config.active_record.default_timezone = :local config.active_record.time_zone_aware_attributes = false вроде помогло хотя шас каким боков выйдет в админке хз

Alex
09.09.2016
01:23:07
Ты сейчас фигню сделал

рельсы по умолчанию в UTC сохраняют/читают

зачем это менять?

Google
Amir
09.09.2016
01:23:48
эксперименты

Alex
09.09.2016
01:24:13
Главное в продакшен такое не запускай

Amir
09.09.2016
01:24:14
тогда что предлагаешь? в майск time_zone = SYSTEM

Alex
09.09.2016
01:24:36
тогда что предлагаешь? в майск time_zone = SYSTEM
Предлагаю довериться рельсам в вопросах хранения таймзоны

Amir
09.09.2016
01:24:37
тип поля рельцы сделали datetime

наверно стоит конвертнуть в таймстам?

Alex
09.09.2016
01:25:22
рельсы сделали, рельсы лучше знают, не думаешь?

timestamp конвертируется при получении клиентом судя по этой статье: https://habrahabr.ru/post/61391/

Amir
09.09.2016
01:30:57
Foo.where("?", DateTime.new(2016,1,1,8,0))

n.where("?", DateTime.new(2016,1,1,8,0))

Если так сделать то нормально передается в mysql , то-то до сих пор нормально работала

Alex
09.09.2016
01:31:40
Нормально передается это когда в UTC

Amir
09.09.2016
01:31:45
просто в консоли решил потестить и хотел передать текущее время Datetime.now а в запросе вижу фигню без тайм зоны

Наверно

Alex
09.09.2016
01:32:21
в запросе видишь нормальный вариант, в utc, но полностью его игнорируешь

Amir
09.09.2016
01:34:22
DateTime.now выдает с таймзоной DateTime.new(2016,1,1,8,0) без тайм зоны

Alex
09.09.2016
01:36:36
потому что таймзону не указал

он и берет утц по дефолту

от UTC нужно отнять 0 часов чтобы получить время по UTC

Amir
09.09.2016
01:37:23
ага

Google
Alex
09.09.2016
01:38:03
ага
что это тебе дает?

Amir
09.09.2016
01:38:42
Имею ввиду почти понял

мне сейчас надо, из DateTime.now удалить признак таймзоны

Alex
09.09.2016
01:39:24
зачем?

Amir
09.09.2016
01:39:41
Чтобы рельцы при передачи в майск не конвертировали в утс

Alex
09.09.2016
01:39:56
зачем?

Amir
09.09.2016
01:41:37
чтоб в запросе Foo.where("?" DateTime.now) в майск время попал такой какой я вижу в своих часах

Alex
09.09.2016
01:41:50
Ты считаешь что рельсы добавляют ошибки при подсчете времени, на самом деле ты пытаешься добавить ошибку которой нет

Т.е рельсы как раз делают правильно что переводят в UTC, а ты пытаешься сделать ошибку в вычислениях

если ты не делаешь реальное приложение то ты можешь врубить те две настройки выше. Но если реальное - то забей.

Amir
09.09.2016
01:42:54
Но так ведь время в базе данных сами рельца и записали

Alex
09.09.2016
01:43:02
Забавно как иногда человек целеустремленно хочет выстрелить себе в ногу

Alex
09.09.2016
01:43:13
Вот именно что они сами туда это записали

Amir
09.09.2016
01:43:17
а почему тогда в моем обычном запросе чисто рельцовском стиле в майск время попадает в УТС?

Alex
09.09.2016
01:43:22
и точно также они знают как правильно запрашивать его в запросе

чтобы не накосячить с таймзонами

рельсы автоматом туда сюда конвертируют.

Amir
09.09.2016
01:43:52
считаешь тогда ActiveAdmin не правильно записал?

Google
Alex
09.09.2016
01:44:06
запрос делаешь по UTC?

в чем проблема то?

то что у тебя в майке почему то вдруг показывает локальную временную зону?

Amir
09.09.2016
01:44:56
Foo.where("?" , DateTime.now) в запросах вида этого вообще некорректные данные выходят

Alex
09.09.2016
01:45:06
Считаю что AR нормально сработал, и точно также AR нормально срабатывает при запросе.

Amir
09.09.2016
01:45:17
вижу что не нормально срабатывает

если только передать дату сгенерированную как DateTime.new(123,123,123,123)(

Alex
09.09.2016
01:45:34
ненормально это как?

Admin
ERROR: S client not available

Amir
09.09.2016
01:45:48
тогда дата без тайм зоны и запросы идут нормальные в майскл

Alex
09.09.2016
01:45:51
тогда дата без тайм зоны и запросы идут нормальные в майскл
Запросы всегда нормальные идут, но ты почему то пытаешься все сломать.

Amir
09.09.2016
01:46:30
DateTime.new DateTime.now разные проверь

у второй будет тайм зона вида +XXXX

Alex
09.09.2016
01:47:17
+0000

+0300

Amir
09.09.2016
01:47:37
ну вот

первый вариант нормально работает с базой данных

второй уже конвертирует в утс, в базе совсем другие данные попадают

Google
Alex
09.09.2016
01:48:09
https://makandracards.com/makandra/4601-use-time-current-date-current-datetime-current-on-projects-that-have-a-time-zone

Заебал

.new шлет в базу в UTC

че те блять не ясно то?

потому и шлет в том же виде что таймзона нулевая

т.е UTC

а .now/current таймзонные

соответственно переводятся в UTC перед запросом

я все еще не понимаю в чем у тебя проблема.

Amir
09.09.2016
01:49:10
да блять Если DateTime.current сделать у меня время по ЛОНДОНУ!

Alex
09.09.2016
01:49:41
А в рельсах какую временную зону настроил?

With time zones configured, always use .current for Time, Date, and DateTime. ActiveRecord attributes will be time-zoned, and .current values will be converted properly when written to the database. Do not use Time.now and friends. Timezone-less objects will not be converted properly when written to the database.

2.1.1 :004 > Rails.application.config.time_zone => "Moscow"

I
09.09.2016
02:32:00
А почему DateTime.new или DateTime.now, а не Time.zone.now?

Vitaly
09.09.2016
05:08:51
извините за оффтоп но ради угара гляньте: https://moikrug.ru/vacancies/1000028589

они бы написали лучше так - Требуется Дворник со знанием Веб-дизайна и тп

у них кстати все вакансии с 25к начинаются

Nikolay
09.09.2016
06:49:00
ляя... deb пакет клиента вайбера весит 80 метров. распаковывается в 350.. ШТО они туда напихали?

Nikolay
09.09.2016
07:37:10
скорее виртуалка ондроеда

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

Страница 186 из 1594