Time
Календарные данные, системные часы и монотонное измерение интервалов.
Для даты события используйте epoch-секунды, для длительности — разность GetTicksUsec()/GetTicksMsec(). System clock может корректироваться; runtime ticks не являются датой и не переносятся между запусками. Микросекундная единица не обещает микросекундную точность.
Unix-конверсии здесь работают с целыми секундами и не применяют локальную зону. utc у системных методов выбирает UTC или local. bias из GetTimeZoneFromSystem() измеряется в минутах и описывает текущую OS-зону, не историю любой даты.
Строковые методы не заменяют строгий ISO/RFC3339 parser: timezone suffix не преобразуется, дроби теряются, пустой ввод может стать epoch. Dictionary parser не валидирует все календарные диапазоны. Проверяйте ввод до конверсии; значения 0 и −1 сами по себе не доказывают ошибку.
Календарь proleptic Gregorian по исходникам, без исторического пропуска дней; leap seconds не поддержаны. Проверены фиксированные Windows roundtrips, схемы, defaults и ticks. DST-переходы, перестановка часов, предельные даты и другие платформы не выполнялись.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Свойства1
SingletonСвойство
public static TimeInstance Singleton { get; }Заимствованный wrapper глобального Time. Повторное получение использует cached wrapper; не Free/Dispose этот сервис. Для обычных вызовов используйте статические методы.
Методы21
GetDateDictFromSystemReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetDateDictFromSystem(bool utc = false);Читает текущую дату OS: year, month, day, weekday. utc=false — локальная зона, true — UTC. Это отдельный снимок системных часов; другие вызовы могут пересечь границу суток. Не содержит hour или dst.
| Имя | Тип | По умолчанию |
|---|---|---|
utc | bool | false |
utcTrue читает UTC; false (default) — текущую локальную OS-зону. Не параметр конверсионных Unix-методов.
Reckfell.Collections.DictionaryНовый Dictionary указанных полей; Dispose собственный C# wrapper после чтения.
GetDateDictFromUnixTimeReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetDateDictFromUnixTime(long unixTimeVal);Преобразует целые Unix-секунды в year/month/day/weekday без локального timezone-сдвига. Month 1…12; weekday 0=воскресенье. Отрицательные секунды допускают даты до epoch. Это не полная дата-время и не изменение настроек OS.
| Имя | Тип | По умолчанию |
|---|---|---|
unixTimeVal | long | — |
unixTimeValЦелые signed секунды от 1970-01-01T00:00:00, не миллисекунды; локальный offset не применяется.
Reckfell.Collections.DictionaryНовый Dictionary указанных полей; Dispose собственный C# wrapper после чтения.
GetDateStringFromSystemstring
public static string GetDateStringFromSystem(bool utc = false);Возвращает дату текущих часов OS в форме YYYY-MM-DD. utc выбирает локальную зону/UTC; строка не содержит offset или названия зоны. Не является локализованным форматом интерфейса пользователя.
| Имя | Тип | По умолчанию |
|---|---|---|
utc | bool | false |
utcTrue читает UTC; false (default) — текущую локальную OS-зону. Не параметр конверсионных Unix-методов.
stringСтрока указанного календарного формата без timezone-конвертации и дробей.
GetDateStringFromUnixTimestring
public static string GetDateStringFromUnixTime(long unixTimeVal);Форматирует целые Unix-секунды как YYYY-MM-DD без применения локальной зоны. Дробную часть принять не может: аргумент long. Для интервала между событиями используйте ticks, а не календарные строки.
| Имя | Тип | По умолчанию |
|---|---|---|
unixTimeVal | long | — |
unixTimeValЦелые signed секунды от 1970-01-01T00:00:00, не миллисекунды; локальный offset не применяется.
stringСтрока указанного календарного формата без timezone-конвертации и дробей.
GetDatetimeDictFromDatetimeStringReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetDatetimeDictFromDatetimeString(string datetime, bool weekday);Разбирает компоненты формы YYYY-MM-DDTHH:MM:SS, с пробелом вместо T, только дату или только время. Пропущенные части получают epoch defaults. В C# weekday обязателен и добавляет вычисляемый weekday при true. Это не валидатор: в 1.0.0 метод не проверяет диапазоны календаря/часов и может вернуть недопустимые поля. Валидируйте ввод до вызова, особенно при weekday=true; неверные месяцы с вычислением weekday здесь не исполнялись. Суффиксы offset/Z и дроби не являются полноценной ISO-поддержкой.
| Имя | Тип | По умолчанию |
|---|---|---|
datetime | string | — |
weekday | bool | — |
datetimeПредварительно проверенная строка компонентов; не полагайтесь на строгую ISO-валидацию/offset-конверсию.
weekdayTrue добавляет вычисляемый weekday; сначала обеспечьте валидную дату. Параметр обязателен в C#.
Reckfell.Collections.DictionaryНовый Dictionary указанных полей; Dispose собственный C# wrapper после чтения.
GetDatetimeDictFromSystemReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetDatetimeDictFromSystem(bool utc = false);Читает текущую дату-время OS: year, month, day, weekday, hour, minute, second, dst. UTC выбирается флагом; utc=false локален. dst относится к текущему OS-снимку, а не истории произвольной даты. Системные часы могут корректироваться, поэтому не измеряйте ими elapsed time.
| Имя | Тип | По умолчанию |
|---|---|---|
utc | bool | false |
utcTrue читает UTC; false (default) — текущую локальную OS-зону. Не параметр конверсионных Unix-методов.
Reckfell.Collections.DictionaryНовый Dictionary указанных полей; Dispose собственный C# wrapper после чтения.
GetDatetimeDictFromUnixTimeReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetDatetimeDictFromUnixTime(long unixTimeVal);Преобразует целые epoch-секунды в семь полей year/month/day/weekday/hour/minute/second. Не добавляет dst, offset или миллисекунды и не применяет настройки локальной зоны. Поддерживает проверенные отрицательные и post-2038 timestamps; предельные int64-даты не проверялись.
| Имя | Тип | По умолчанию |
|---|---|---|
unixTimeVal | long | — |
unixTimeValЦелые signed секунды от 1970-01-01T00:00:00, не миллисекунды; локальный offset не применяется.
Reckfell.Collections.DictionaryНовый Dictionary указанных полей; Dispose собственный C# wrapper после чтения.
GetDatetimeStringFromDatetimeDictstring
public static string GetDatetimeStringFromDatetimeDict(Reckfell.Collections.Dictionary datetime, bool useSpace);Форматирует непустой Dictionary в YYYY-MM-DDTHH:MM:SS или с пробелом. Недостающие year/month/day/hour/minute/second заполняются значениями epoch; лишние weekday/dst/bias не преобразуют зону. Проверяет диапазоны даты/времени, но при ошибке даёт пустую строку с диагностикой, не Error. Валидация неверных полей здесь разобрана по исходникам.
| Имя | Тип | По умолчанию |
|---|---|---|
datetime | Reckfell.Collections.Dictionary | — |
useSpace | bool | — |
datetimeНепустой Dictionary полей year/month/day/hour/minute/second; недостающие поля имеют epoch defaults.
useSpaceTrue заменяет T пробелом; не меняет дату, зону или точность.
stringСтрока указанного календарного формата без timezone-конвертации и дробей.
GetDatetimeStringFromSystemstring
public static string GetDatetimeStringFromSystem(bool utc = false, bool useSpace = false);Форматирует текущую дату-время OS с точностью полей до целой секунды. utc выбирает зону, useSpace — только разделитель. Строка не содержит Z/offset и не описывает clock monotonicity. Несколько вызовов не являются одним атомарным снимком.
| Имя | Тип | По умолчанию |
|---|---|---|
utc | bool | false |
useSpace | bool | false |
utcTrue читает UTC; false (default) — текущую локальную OS-зону. Не параметр конверсионных Unix-методов.
useSpaceTrue заменяет T пробелом; не меняет дату, зону или точность.
stringСтрока указанного календарного формата без timezone-конвертации и дробей.
GetDatetimeStringFromUnixTimestring
public static string GetDatetimeStringFromUnixTime(long unixTimeVal, bool useSpace = false);Форматирует целые Unix-секунды без локального сдвига. useSpace меняет T на пробел, не часовой пояс. Строка не включает offset/Z или дробные секунды; не добавляйте произвольный offset без отдельного корректного преобразования.
| Имя | Тип | По умолчанию |
|---|---|---|
unixTimeVal | long | — |
useSpace | bool | false |
unixTimeValЦелые signed секунды от 1970-01-01T00:00:00, не миллисекунды; локальный offset не применяется.
useSpaceTrue заменяет T пробелом; не меняет дату, зону или точность.
stringСтрока указанного календарного формата без timezone-конвертации и дробей.
GetOffsetStringFromOffsetMinutesstring
public static string GetOffsetStringFromOffsetMinutes(long offsetMinutes);Форматирует signed минуты как ±HH:MM: например 330 → +05:30, −210 → −03:30. Не переводит timestamp в другую зону, не выбирает DST и не проверяет существование такого часового пояса. Не передавайте Unix-секунды вместо минут.
| Имя | Тип | По умолчанию |
|---|---|---|
offsetMinutes | long | — |
offsetMinutesSigned минуты смещения; 330 соответствует +05:30. Не Unix timestamp.
stringSigned offset-строка ±HH:MM без конвертации даты.
GetTicksMseculong
public static ulong GetTicksMsec();Монотонный счётчик миллисекунд текущего runtime. Подходит для разности двух показаний; не дата и не epoch. В текущем backend вычисляется усечением microseconds/1000. Не сохраняйте как переносимое время между запусками и не предполагайте точность планировщика в 1 мс.
ulongНеотрицательные runtime-миллисекунды, не epoch.
GetTicksUseculong
public static ulong GetTicksUsec();Монотонный счётчик микросекунд от начала текущего runtime. Для elapsed seconds используйте (now−start)/1_000_000.0. Единица измерения не гарантирует физическую точность в 1 мкс. Это не UTC, не масштабируемое Engine.TimeScale игровое время и не общий timestamp разных процессов.
ulongНеотрицательные runtime-микросекунды, не epoch.
GetTimeDictFromSystemReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetTimeDictFromSystem(bool utc = false);Возвращает hour/minute/second текущих OS-часов. utc=false — локально, true — UTC. Нет даты/offset: одинаковые значения могут относиться к разным дням; не используйте только их как уникальную отметку события.
| Имя | Тип | По умолчанию |
|---|---|---|
utc | bool | false |
utcTrue читает UTC; false (default) — текущую локальную OS-зону. Не параметр конверсионных Unix-методов.
Reckfell.Collections.DictionaryНовый Dictionary указанных полей; Dispose собственный C# wrapper после чтения.
GetTimeDictFromUnixTimeReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetTimeDictFromUnixTime(long unixTimeVal);Возвращает час, минуту и секунду внутри суток из целого epoch timestamp без timezone-сдвига. Для −1 результат 23:59:59, а не отрицательные компоненты. Дата не входит в результат.
| Имя | Тип | По умолчанию |
|---|---|---|
unixTimeVal | long | — |
unixTimeValЦелые signed секунды от 1970-01-01T00:00:00, не миллисекунды; локальный offset не применяется.
Reckfell.Collections.DictionaryНовый Dictionary указанных полей; Dispose собственный C# wrapper после чтения.
GetTimeStringFromSystemstring
public static string GetTimeStringFromSystem(bool utc = false);Форматирует текущие OS-часы как HH:MM:SS в выбранной локальной/UTC зоне. Не включает дату, дроби или offset. Не используйте для точного измерения длительности.
| Имя | Тип | По умолчанию |
|---|---|---|
utc | bool | false |
utcTrue читает UTC; false (default) — текущую локальную OS-зону. Не параметр конверсионных Unix-методов.
stringСтрока указанного календарного формата без timezone-конвертации и дробей.
GetTimeStringFromUnixTimestring
public static string GetTimeStringFromUnixTime(long unixTimeVal);Форматирует часть суток целого Unix timestamp как HH:MM:SS. Не применяет локальную зону и не сохраняет информацию о дне. Это форматирование времени суток, не строка длительности.
| Имя | Тип | По умолчанию |
|---|---|---|
unixTimeVal | long | — |
unixTimeValЦелые signed секунды от 1970-01-01T00:00:00, не миллисекунды; локальный offset не применяется.
stringСтрока указанного календарного формата без timezone-конвертации и дробей.
GetTimeZoneFromSystemReckfell.Collections.Dictionary
public static Reckfell.Collections.Dictionary GetTimeZoneFromSystem();Читает текущие OS-поля bias и name. bias — signed минуты UTC offset; name — OS-название, не гарантированный IANA ID. Windows учитывает текущую стандартную/DST поправку. Это не база исторических зон и не API перевода произвольной даты с DST. В QA зона не менялась; проверена схема результата.
Reckfell.Collections.DictionaryНовый Dictionary указанных полей; Dispose собственный C# wrapper после чтения.
GetUnixTimeFromDatetimeDictlong
public static long GetUnixTimeFromDatetimeDict(Reckfell.Collections.Dictionary datetime);Преобразует непустой Dictionary в целые epoch-секунды. Неуказанные основные поля получают epoch defaults; weekday/dst/bias игнорируются как вход конверсии. Локальное время не переводится автоматически в UTC. При ошибке диапазонов или пустом Dictionary native-код возвращает 0 с диагностикой — 0 также нормальный epoch, поэтому это не TryParse.
| Имя | Тип | По умолчанию |
|---|---|---|
datetime | Reckfell.Collections.Dictionary | — |
datetimeНепустой Dictionary полей year/month/day/hour/minute/second; недостающие поля имеют epoch defaults.
longЦелые epoch-секунды; 0 неоднозначен между epoch и ошибкой с диагностикой.
GetUnixTimeFromDatetimeStringlong
public static long GetUnixTimeFromDatetimeString(string datetime);Разбирает поддержанные компоненты и возвращает целые секунды. Не строгий ISO/RFC3339 parser: +03:00 не вычитает 3 часа, дробные секунды не сохраняются, пустая строка в проверке дала 0. Дата без времени даёт полночь; время без даты относится к 1970-01-01. Валидируйте структуру/диапазоны и отдельно обрабатывайте зону. Ошибочные ветви дают −1 либо 0 с диагностикой; оба числа также допустимые timestamps.
| Имя | Тип | По умолчанию |
|---|---|---|
datetime | string | — |
datetimeПредварительно проверенная строка компонентов; не полагайтесь на строгую ISO-валидацию/offset-конверсию.
longЦелые epoch-секунды; −1 и 0 не универсальные error markers.
GetUnixTimeFromSystemdouble
public static double GetUnixTimeFromSystem();Текущие UTC epoch-секунды системных часов как double, с возможной дробной частью. Не миллисекунды. Часы могут измениться пользователем/OS, поэтому разность не является монотонным измерением. Для измерения длительности используйте ticks; для отображения явно выберите UTC/local. Проверено чтение Windows без изменения часов.
doubleSystem UTC epoch seconds как double; может меняться немонотонно.
Time.Month
| Значение | Описание |
|---|---|
April = 4 | Месяц апрель, представленный численно как |
August = 8 | Август месяц, представленный численно как МЕСТО |
December = 12 | Декабрь, представленный численно как |
February = 2 | Месяц февраль, представленный численно как |
January = 1 | Месяц январь, представленный в числовом виде как МЕСТО ФЕВРАЛЯ |
July = 7 | Июль месяц, представленный численно как |
June = 6 | Июнь, числовой формат которого представлен как |
March = 3 | Март месяц, представленный численно как |
May = 5 | Месяц май, представленный численно как |
November = 11 | Месяц ноябрь, представленный численно как |
October = 10 | Месяц октябрь, представленный численно как МЕСТО |
September = 9 | Сентябрь, представленный численно как МЕСТО |
Time.Weekday
| Значение | Описание |
|---|---|
Friday = 5 | День недели пятница, представленный в числовом виде как |
Monday = 1 | День недели понедельник, представленный в числовом виде как Неделя в пятницу |
Saturday = 6 | День недели суббота, представленный в числовом виде как |
Sunday = 0 | День недели воскресенье, представленный численно как |
Thursday = 4 | День недели четверг, представленный в числовом виде как Неделя в пятницу |
Tuesday = 2 | День недели вторник, представленный в числовом виде как Неделя |
Wednesday = 3 | День недели среда, представленный в числовом виде как Неделя вторник |