Надо решить следующую задачу:
Определить сколько сейчас времени в "US Central Time" на любой машине в мире.
Использовать SQL Server или VB6
В SQL Server есть GetUTCDate and GetDate
а как быть с летним временем?
Время (SQL Server or VB)
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
-
- Уже с Приветом
- Posts: 1407
- Joined: 07 Jan 2003 19:51
- Location: НорКа
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Слiн wrote:Оно (летнее время) вроде всегда в одинаковый день наступает -- первое воскресение Апреля, и заканчивается в последнее воскресение же Октября. То есть с UTC разницу можно "высчитать", наверное.
Вы что ?
Там сложные правила
и в разных странах по разному
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 1407
- Joined: 07 Jan 2003 19:51
- Location: НорКа
Dmitry67 wrote:Слiн wrote:Оно (летнее время) вроде всегда в одинаковый день наступает -- первое воскресение Апреля, и заканчивается в последнее воскресение же Октября. То есть с UTC разницу можно "высчитать", наверное.
Вы что ?
Там сложные правила
и в разных странах по разному
В разных странах как это забота getUTCTime() знать
А с UTC у Central летом разница -7, а зимой -- 6(*) и переход лета/зимы в центральном времени всегда в одни и те же воскресения. Иначе телевизор бы как знал?
(*) или наоборот
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Нагуглил вот:
Теперь вопрос в студию:
Какие права у SQL Server пользователя должны быть чтобы это работало?
Code: Select all
DECLARE @ActiveTimeBias binary(8)
DECLARE @Bias binary(8)
EXECUTE master..xp_regread
'HKEY_LOCAL_MACHINE'
,'SYSTEM\CurrentControlSet\Control\TimeZoneInformation'
,'ActiveTimeBias', @ActiveTimeBias OUTPUT
EXECUTE master..xp_regread
'HKEY_LOCAL_MACHINE'
,'SYSTEM\CurrentControlSet\Control\TimeZoneInformation'
,'Bias', @Bias OUTPUT
IF @ActiveTimeBias <> @Bias
PRINT 'Daylight SavingsTime - clock set forward 1 hour'
ELSE
PRINT 'Standard Time - clock not set forward'
Теперь вопрос в студию:
Какие права у SQL Server пользователя должны быть чтобы это работало?
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Мне почему то кажется что при любых неизвращенных
А вообще все это глубоко неправильно
Вель правительство любой страны может издать указ и изменить правила
Следовательно надо коннектится к какому нибудь web service, который предоставит актуальную информацию на эту тему
А вообще все это глубоко неправильно
Вель правительство любой страны может издать указ и изменить правила
Следовательно надо коннектится к какому нибудь web service, который предоставит актуальную информацию на эту тему
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Ладно, секрет фирмы:
Умный FedEx API хочет время в Central Time
Я все хотел "user-friendly" сделать, чтобы пользователь указал свое время, а я перевел в Central Time. Тем более что все происходит только в Америке. Т.е. и час тот не сильная проблема.
Но тут меня осенилo что непонятно как у них будет сервер настроен. И будет-ли там "daylight savings" настроено?
И приписал я в UI "(Central Time)". И пошли они...
Умный FedEx API хочет время в Central Time
Я все хотел "user-friendly" сделать, чтобы пользователь указал свое время, а я перевел в Central Time. Тем более что все происходит только в Америке. Т.е. и час тот не сильная проблема.
Но тут меня осенилo что непонятно как у них будет сервер настроен. И будет-ли там "daylight savings" настроено?
И приписал я в UI "(Central Time)". И пошли они...
-
- Уже с Приветом
- Posts: 1099
- Joined: 30 Sep 1999 09:01
- Location: Bryansk,RUSSIA >> Dublin, Ireland
Не знаю, может пригодиться - я по Европе вот это пользую
Даты в базе, понятное дело все в UTC - а иначе потом голову сломаешь разбираться что где...
Code: Select all
/*
LOCAL2UTC TIME FUNCTION BASED ON
The Ninth European Parliament and Council Directive on Summer Time Arrangements
1998 March 29 to October 25
1999 March 28 to October 31
2000 March 26 to October 29
2001 March 25 to October 28
2002 March 31 to October 27
2003 March 30 to October 26
2004 March 28 to October 31
2005 March 27 to October 30
2006 March 26 to October 29
2007 March 25 to October 28
*/
Даты в базе, понятное дело все в UTC - а иначе потом голову сломаешь разбираться что где...
Удачи@С.Смирнов