С# конвертировать в UnixTime

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
226
Благодарностей
339
Баллы
63
Ребзя, буду благодарен если поможете разобраться с кодом.
Задача засечь время и после определенного момента обрубать шаблон. Логику построил такую что первым кубиком, который я привел ниже берется текущее время и к нему прибавляется ограничитель и возвращается в переменную if_Unix, но проблема в том что в виде 11.05.2019 19:49:57
Код:
string s = project.Variables["Time"].Value;
double d = Convert.ToDouble(s);
DateTime enddatetime = DateTime.Now.AddSeconds(d);
project.Variables["Unix"].Value = DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString();
project.Variables["if_Unix"].Value = enddatetime.ToString();
а если конвертировать кодом
Код:
DateTime dt = DateTime.Parse(project.Variables["if_Unix"].Value);
int unixTime = (int)(dt - new DateTime(1970, 1, 1)).TotalSeconds;
return unixTime;
то получается что переменная Unix содержит правильную дату в правильном формате по моему часовому поясу, а if_Unix я привел к правильному формату, НО пояс часовой изменился на мировой.
 

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
226
Благодарностей
339
Баллы
63
Рабочее решение, надеюсь кому пригодиться
Код:
long time = long.Parse(project.Variables["Time"].Value); // ограничитель в секундах
long dateComment = long.Parse(project.Variables["Unix"].Value); // время в начале шаблона в UnixTime
long dateNow = DateTimeOffset.Now.ToUnixTimeSeconds(); // текущая дата в UnixTime
if (dateComment + time <= dateNow) return null; // если текущее время превысило Time, то выход по неуспеху
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)