Работа со временем - страница 2

 
Karlson:

Это колдунство.Очень умно написано.Теряюсь )) 

Простым языком надо просто знать часовой пояс определяемого места.С учетом промежуточных бангладешей насчитал 35.Плюс сезонное изменение в стране. 

ну а что там неясного?

SystemTimeToTzSpecificLocalTime / TzSpecificTimeToSystemTime


 

Зачем придумывать велосипед, если в винде уже все готовые интерфейсы есть.
 

Вот именно..Вы сразу смотрите полностью с программерской точки зрения,где,видимо, все уже прошито,и пояса и переходы.

А я лишь о сути.. 

 

Что на диске осталось по этому вопросу. :)




 

Меня в первую очередь интересует, есть ли моменты, когда разница во времени скажем у Сиднея, Нью Йорка, Лондона и т.п. меняется.

Подозреваю, что есть. Комменты как я понял подтверждают.

Вопрос в том, можно ли провести все манипуляции и получить полностью локально корректное время для этих городов (направление думаю понятно) при корректных локальных настройках времени?

Серьезно со временем не работал, а вопрос очень серьезный, имхо, поэтому прошу совета.


 
Если есть желание - можно в ручную посчитать время, или в интернете поискать готовую разницу во времени между городами и часовые пояса.
 
Alex potapenko:
Если есть желание - можно в ручную посчитать время, или в интернете поискать готовую разницу во времени между городами и часовые пояса.


А ничего что последний пост 8 лет назад?  Наверняка человек уже решил задачу.

 

Яндекс время - города по собственным приоритетам .

 
А я вот так скажу. Вернее спрошу. Как вы знаете в котировках не редко бывают дыры в особенности при склейках фьючерсов. Именно в день склейки бары выглядят уж совсем не суразно что сказывается и на индикаторах и на всём остальном. Сделал несколько попыток исключить день склейки из расчётов но так и не смог это сделать напрямую. Скажем когда происходит сравнение даты конкретного дня. В итоге пришлось делать костыли через номероа баров что не есть гуд. Кто ни будь может мне подсказать что нужно сделать что бы при наступлении скажем 20.06.2019 дня прекратить расчёты индикатора. Вопрос даже не в расчётах а именно в сравнение дат на уровне дня, как это можно красиво реализовать?
 
Mihail Marchukajtes:
А я вот так скажу. Вернее спрошу. Как вы знаете в котировках не редко бывают дыры в особенности при склейках фьючерсов. Именно в день склейки бары выглядят уж совсем не суразно что сказывается и на индикаторах и на всём остальном. Сделал несколько попыток исключить день склейки из расчётов но так и не смог это сделать напрямую. Скажем когда происходит сравнение даты конкретного дня. В итоге пришлось делать костыли через номероа баров что не есть гуд. Кто ни будь может мне подсказать что нужно сделать что бы при наступлении скажем 20.06.2019 дня прекратить расчёты индикатора. Вопрос даже не в расчётах а именно в сравнение дат на уровне дня, как это можно красиво реализовать?

Если не править историю, то можно прямо в индикаторе пропускать нужные бары:

for ( int i = limit; i >= 0; i -- )
{
  if ( time[i] >= '2019.06.20' && time[i] < '2019.06.21' )
  {
    buf[i] = default_value; // or buf[i+1]
    continue;
  }

  // prev bar
  int prev_bar = -1;
  for ( int u = i+1; u < rates_total; u ++ )
  {
     if ( time[u] >= '2019.06.20' && time[u] < '2019.06.21' ) continue;
     prev_bar = u;
     break;
  }

  if ( prev_bar < 0 ) continue;

  // indicator shows the prev bar high
  buf[i] = high[prev_bar];
}