Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Выборка по времени с учетом UTC/зима-лето  [new]
DrNobody
Member

Откуда:
Сообщений: 28
Приветствую всех!
Помогите с запросом. Есть таблица. В ней поле типа DATETIME. Время указано в UTC (GMT). Юзеру информация предоставляется с временим в локали. Границы фильтров, разумеется, тоже задаются в локали. Как сделать запрос на выдачу данных в заданном интервале ВРЕМЕНИ внутри заданного диапазона ДАТ, учитывая при этом переходы на летнее-стандартное время? Т.е. например: за каждый день с 00:00:00 по 06:00:00 с 1-го января ГГГГ по 1-е июля ГГГГ. (!!!В марте переход на летнее время!!!).
Заранее благодарен за любые советы.
19 апр 07, 15:45    [4043337]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по времени с учетом UTC/зима-лето  [new]
DrNobody
Member

Откуда:
Сообщений: 28
Мдя... Не только меня стопорнуло.
20 апр 07, 11:42    [4047372]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по времени с учетом UTC/зима-лето  [new]
ILL HEAD
Member [заблокирован]

Откуда:
Сообщений: 8498
нужно сделать запрос c поправкой на смещение интервала отбора (который задан в локал.времени) в сторону UTC
чтобы узнать смещение локали от UTC можно порыть API (FileTimeToLocalFileTime,LocalFileTimeToFileTime - то что вывылилось по образцу UTC)
а сам запрос имхо детский
20 апр 07, 12:04    [4047602]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по времени с учетом UTC/зима-лето  [new]
DrNobody
Member

Откуда:
Сообщений: 28
ILL HEAD
нужно сделать запрос c поправкой на смещение интервала отбора (который задан в локал.времени) в сторону UTC
чтобы узнать смещение локали от UTC можно порыть API (FileTimeToLocalFileTime,LocalFileTimeToFileTime - то что вывылилось по образцу UTC)
а сам запрос имхо детский


Такой вариант работает только в случае запроса в интервале StartDateTime - EndDateTime. По конкретной временной границе определяется поправка для перехода к UTC и делается "детский" :-) запрос. У меня задача несколько другая: за каждый день с 00:00:00 по 06:00:00 с 1-го января ГГГГ по 1-е июля ГГГГ. (!!!В марте переход на летнее время!!!).
20 апр 07, 12:23    [4047760]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по времени с учетом UTC/зима-лето  [new]
ILL HEAD
Member [заблокирован]

Откуда:
Сообщений: 8498
автор
У меня задача несколько другая: за каждый день с 00:00:00 по 06:00:00 с 1-го января ГГГГ по 1-е июля ГГГГ.
для каждого дня делать детский запрос :)
не понятно чем ваша задача уникальна ?
или вы не хотите использовать цикл по дням, но не знаете как написать запрос с выборкой по интервалу времени каждого дня на интервале дат ... и UTC тут как бы нипричем ?
а про зиму/лето - дополнительное условие в запросе (дополнительное смещение в локали с некоторой даты)
20 апр 07, 12:32    [4047833]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по времени с учетом UTC/зима-лето  [new]
DrNobody
Member

Откуда:
Сообщений: 28
ILL HEAD
не понятно чем ваша задача уникальна?
Да нет в ней уникальности никакой. Я торможу:-( Поэтому и спрашиваю.
Изначально запрос выглядел так:
WHERE int([DATETIME]) BETWEEN StartDate AND EndDate) //DATE
AND (([DATETIME] - int([DATETIME]) BETWEEN StartTime AND EndTime) //TIME

Если можно, поясните пожалуйста подробнее:
ILL HEAD
...или вы не хотите использовать цикл по дням, но не знаете как написать запрос с выборкой по интервалу времени каждого дня на интервале дат ... и UTC тут как бы нипричем ?
а про зиму/лето - дополнительное условие в запросе (дополнительное смещение в локали с некоторой даты)
20 апр 07, 13:03    [4048109]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по времени с учетом UTC/зима-лето  [new]
ILL HEAD
Member [заблокирован]

Откуда:
Сообщений: 8498
на каком языке пишете?
всмысле - какие встроенные функции доступны (datediff, iif ... etc.)
20 апр 07, 13:50    [4048508]     Ответить | Цитировать Сообщить модератору
 Re: Выборка по времени с учетом UTC/зима-лето  [new]
DrNobody
Member

Откуда:
Сообщений: 28
ILL HEAD
на каком языке пишете?
всмысле - какие встроенные функции доступны (datediff, iif ... etc.)


VC++2005
20 апр 07, 14:01    [4048621]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить