// Получаем время из переменной с указанием часовго пояса: 15.02.2022 12:00 +00:00
/* 1. Вариат с использованием struct DateTimeOffset .*/
// Парсим и сохраняем значение времени в struct DateTimeOffset.
// Преобразуем struct DateTimeOffset в struct DateTime(для дальнейшей работы).
// Выводим сообщение в лог.
/* 2. Вариат без использования struct DateTimeOffset .*/
// Конвертируем в struct DateTime.
// Выводим сообщение в лог.
/* 3. Получение кол-во времени до события исходя из текущего согласно нашего часового пояса и времени начало самого события.*/
// Получение текущего времени согласно нашего часового пояса.
// Выводим сообщение в лог.
// Преобразование текущего времени согласно нашего часового пояса в UTC.
// Выводим сообщение в лог.
// Подсчёт кол-во времени до события.
// Выводим сообщение в лог.
#ZennoPoster, #DateTime
string capDateAndTimeRunRegistrationInSeil = project.Variables["capDateAndTimeRunRegistrationInSeil"].Value;
/* 1. Вариат с использованием struct DateTimeOffset .*/
// Парсим и сохраняем значение времени в struct DateTimeOffset.
var dtOffset_forSeil = DateTimeOffset.Parse(capDateAndTimeRunRegistrationInSeil);
// Преобразуем struct DateTimeOffset в struct DateTime(для дальнейшей работы).
var time_forSeil_DtOff = dtOffset_forSeil.DateTime;
// Выводим сообщение в лог.
project.SendToLog("ВРЕМЯ РЕГИСТРАЦИИ С ПОМОЩЬЮ DateTimeOffset: " + time_forSeil_DtOff.ToString("dd.MM.yyyy HH:mm:ss"), ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true, ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Yellow);
/* 2. Вариат без использования struct DateTimeOffset .*/
// Конвертируем в struct DateTime.
var time_forSeil_Dt = Convert.ToDateTime(capDateAndTimeRunRegistrationInSeil);
// Выводим сообщение в лог.
project.SendToLog("ВРЕМЯ РЕГИСТРАЦИИ С ПОМОЩЬЮ БЕЗ DateTimeOffset: " + time_forSeil_Dt.ToString("dd.MM.yyyy HH:mm:ss"), ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true, ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Yellow);
/* 3. Получение кол-во времени до события исходя из текущего согласно нашего часового пояса и времени начало самого события.*/
// Получение текущего времени согласно нашего часового пояса.
DateTime dtNow = DateTime.Now;
// Выводим сообщение в лог.
project.SendToLog("ТЕКУЩЕЕ ВРЕМЯ СОГЛАСНО НАШЕГО ЧАСОВОГО ПОЯСА: " + dtNow.ToString("dd.MM.yyyy HH:mm:ss"), ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true, ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Green);
// Преобразование текущего времени согласно нашего часового пояса в UTC.
var utcTime_forNow = dtNow.ToUniversalTime();
// Выводим сообщение в лог.
project.SendToLog("ТЕКУЩЕЕ ВРЕМЯ СОГЛАСНО UTC: " + utcTime_forNow.ToString("dd.MM.yyyy HH:mm:ss"), ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true, ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Green);
// Подсчёт кол-во времени до события.
TimeSpan diff = time_forSeil_DtOff.Subtract(utcTime_forNow);
// Выводим сообщение в лог.
project.SendToLog("ОСТАЛОСЬ ВРЕМЕНИ ДО РЕГИСТРАЦИИ СОГЛАСНО UTC(ЗАДАННОГО ВРЕМЕНИ) И НАШЕГО ВРЕМЕНИ(СКОНВЕРТИРОВАННОЕ В UTC): " + diff.Days.ToString("0") + " дн. " + diff.Hours.ToString("0") + " час. " + diff.Minutes.ToString("0") + " мин.", ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true, ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Orange);
#ZennoPoster, #DateTime