Crystal 2011 - конвертировать тики во время - PullRequest
1 голос
/ 30 ноября 2011

У меня есть Crystal Report (2011), который использует хранимую процедуру для отображения некоторых данных.Одним из полей является TimeSpent (bigint), и оно содержит количество тактов в интервале времени (в C # мы передаем TimeSpan.Ticks в базу данных, которая будет сохранена).

Очевидно, что в своем отчете я бы не хотел показывать это, поэтому мне интересно, как я могу преобразовать тики в значения dd:hh:mm:ss, например 01:05:58:25 для 1 day, 5 hours, 58 minutes and 29 seconds?

1 Ответ

1 голос
/ 30 ноября 2011

Тик составляет 100 наносекунд, или 10 миллионов тиков в секунду. Итак, сначала преобразовать в секунды numbervar span := {field.ticks}/10000000;

Оттуда просто разбейте секунды на отрезки времени (этот фрагмент от tek-tips ):

numbervar days;
numberVar hrs;
numberVar min;
numberVar sec;
stringVar ddhhmmss;
days:= Truncate(Truncate(Truncate(span/60)/60)/24);
hrs := Remainder(Truncate(Truncate(span/60)/60),24);
min := Remainder(Truncate(span/60),60);
sec := Remainder(span,60);

ddhhmmss := totext(days,0,"") + ":" + totext(hrs,"00") + ":" + totext(min,"00") + ":" + totext(sec,"00");

ddhhmmss
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...