Для изменения размера нажмите или перетащите
Биржевое время

Для работы со временем в S# используется структура DateTimeOffset. Эта структура хранит информацию о времени в формате UTC (англ. Coordinated Universal Time - Всемирное координированное время), а также смещение локального времени относительно UTC. Таким образом, всегда можно определить локальное время и смещение (часовой пояс) источника данных при помощи свойств DateTimeOffset.DateTime (или DateTimeOffset.LocatDateTime ) и DateTimeOffset.Offset соответственно.

Для определения биржевого времени в S# можно использовать стандартные методы C#: DateTimeNow или DateTimeOffsetNow. Чтобы данные методы возвращали точное время, необходимо синхронизировать локальное время компьютера с атомными часами через вызов метода TimeHelper.SyncMarketTime(Int32). Разница во времени будет записана в TimeHelper.NowOffset. После этого в TimeHelper.Now будет хранится синхронизированное локальное время с учетом TimeHelper.NowOffset. Класс TimeHelper находится в пространстве имен Ecng.Common.

Пример получения скорректированного времени

  • C#
    var trader = new SmartTrader(login, password);
    
    // выводим текущее локальное время
    Console.WriteLine(TimeHelper.Now);
    
    // синхронизируем локальное время с атомными часами
    TimeHelper.SyncMarketTime(10000);
    
    // выводим синхронизированное текущее локальное время
    Console.WriteLine(TimeHelper.Now);
См. также