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

  • Автор темы Автор темы Lextor
  • Дата начала Дата начала

Lextor

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

Как реализовать? Если можно то на C#
 
Задача поменять в переменной секунды на часы, но при этом часы не должны аннулироваться после 24h.

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

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

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



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

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



// ТАЙМЕР ПРОЙДЕННОГО ВРЕМЕНИ В 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. затем выбрал "положить результат в переменную"

но на выходе получаю ошибку. Что делаю не так?
 
В
Выполнение действия CSharp OwnCode. Входная строка имеет неправильный формат.
Вы указываете неправильную дату на входе, чтобы она была в юникстайм ее нужно сначала конвертировать
 
попробуйте вот этот код
п.с. конвертер из 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
попробуйте вот этот код
п.с. конвертер из 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

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

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