как сделать чтобы в переменной часы не обнулялись после 24h?

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
Задача поменять в переменной секунды на часы, но при этом часы не должны аннулироваться после 24h.

Как реализовать? Если можно то на C#
 

Oleg-KC

Client
Регистрация
17.02.2020
Сообщения
168
Благодарностей
56
Баллы
28
Задача поменять в переменной секунды на часы, но при этом часы не должны аннулироваться после 24h.

Как реализовать? Если можно то на C#
Вот тут ребята сделали каталог снипетов:

Если вам нужен таймер пройденного времени, там есть
 
  • Спасибо
Реакции: Lextor

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
Вот тут ребята сделали каталог снипетов:

Если вам нужен таймер пройденного времени, там есть


Благодарю за ссылку.

Я нашел этот снипет, но он что-то не работает :



// ТАЙМЕР ПРОЙДЕННОГО ВРЕМЕНИ В UNIXTIME

// Стартовое время в UnixTime
long startTime = long.Parse(project.Variables["date_Time_Now_UnixTime_from_spisok"].Value);

// Время сейчас в UnixTime
long unixTimeNow = ((DateTimeOffset)DateTime.UtcNow).ToUnixTimeSeconds();

// Получаем количество прошедших секунд от начала отсчёта
return unixTimeNow - startTime;



1. Я добавил действо > свой код > C# код
2. добавил код и заменил Variable на свою: {-Variable.date_Time_Now_UnixTime_from_spisok-}
3. затем выбрал "положить результат в переменную"

но на выходе получаю ошибку. Что делаю не так?
 

Oleg-KC

Client
Регистрация
17.02.2020
Сообщения
168
Благодарностей
56
Баллы
28

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18

Oleg-KC

Client
Регистрация
17.02.2020
Сообщения
168
Благодарностей
56
Баллы
28
В
Выполнение действия CSharp OwnCode. Входная строка имеет неправильный формат.
Вы указываете неправильную дату на входе, чтобы она была в юникстайм ее нужно сначала конвертировать
 

Oleg-KC

Client
Регистрация
17.02.2020
Сообщения
168
Благодарностей
56
Баллы
28
попробуйте вот этот код
п.с. конвертер из DateTime в UnixTime и обратно есть там же
п.с.с. код подкорректировал

date = дата (прим. 27.06.2020 - тогда будет считать с 00:00 или 02:00 27.06.2020 - тогда будет считать с заданного времени соответственно)

C#:
// время, которое необходимо получить в UnixTime
DateTime time = DateTime.Parse(project.Variables["date"].Value);

// установка времени
DateTime dateTime = new DateTime(1970, 1, 1,0,0,0,DateTimeKind.Utc);

// Стартовое время в UnixTime
long startTime  = (long)(time - dateTime).TotalSeconds;

// Время сейчас в UnixTime
long unixTimeNow = ((DateTimeOffset)DateTime.UtcNow).ToUnixTimeSeconds();

// Получаем количество прошедших секунд от начала отсчёта
return unixTimeNow - startTime;
 
Последнее редактирование:
  • Спасибо
Реакции: Lextor

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
попробуйте вот этот код
п.с. конвертер из DateTime в UnixTime и обратно есть там же
п.с.с. код подкорректировал

date = дата (прим. 27.06.2020 - тогда будет считать с 00:00 или 02:00 27.06.2020 - тогда будет считать с заданного времени соответственно)

C#:
// время, которое необходимо получить в UnixTime
DateTime time = DateTime.Parse(project.Variables["date"].Value);

// установка времени
DateTime dateTime = new DateTime(1970, 1, 1,0,0,0,DateTimeKind.Utc);

// Стартовое время в UnixTime
long startTime  = (long)(time - dateTime).TotalSeconds;

// Время сейчас в UnixTime
long unixTimeNow = ((DateTimeOffset)DateTime.UtcNow).ToUnixTimeSeconds();

// Получаем количество прошедших секунд от начала отсчёта
return unixTimeNow - startTime;
Благодарю за помощь, я решил проблему так:
{-Variable.sikundi-}/60/60

на выходе получаю часы.
 

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