Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];

Вниз

Как вывести время техпроцесса в чч:мм:сс, если оно превышает 24 ч   Найти похожие ветки 

 
Key999   (2007-04-25 17:41) [0]

Здравствуйте. Мастера, не подскажите, как лучше вывести в поле время техпроцесса, если оно превышает 24 часа. Используемый мною для этого код таков: IntToStr((timeproc div 3600)+RightStr(FormatDateTime("hh:mm:ss",timeproc/86400),6), где timeproc в секундах. Понимаю что это не оптимально. Но есть-ли для функции FormatDateTime в дельфи какой-нибудь формат, позволяющий без искажений отобразить такое, например, время "121:00:00"?


 
DVM ©   (2007-04-25 17:57) [1]


> позволяющий без искажений отобразить такое, например, время
> "121:00:00"?

ну это же неправильно, тут явно надо сутки выделить

Вот я тут использую нечто подобное, правда для разницы между датами, но суть понятна:

function FormatBetweenDates(Date1, Date2: TDateTime): string;
var
 days, hours, minutes, seconds: int64;
begin
 days := DaysBetween(Date1, Date2);
 hours := HoursBetween(Date1, Date2) - days * 24;
 minutes := MinutesBetween(Date1, Date2) - days * 24 * 60 - hours * 60;
 seconds := SecondsBetween(Date1, Date2) - days * 24 * 3600 - hours * 3600 - minutes * 60;
 result := IntToStr(days) +  " äí. " + IntToStr(hours) + " ÷. " + IntToStr(minutes) + " ì. " + IntToStr(seconds) + " ñ. ";
end;


 
Desdechado ©   (2007-04-25 17:57) [2]

Это не время, а длина временнOго интервала.


 
key999   (2007-04-25 18:20) [3]

To: DVM & Desdechado
В том-то и дело, что мне дни выделять не надо. Есть прибор, с которого я принимаю данные о прошедшей длительности техпроцесса и эти значения я принимаю как время программное. На базе этого программного, а также реального времени программа дает команду различным перифирийным устройствам на выполнение некоторых действий. Мне просто надо как-то по-человечески отобразить это программное время, но размерность такова "часы:минуты:секунды". Просто в технологической карте так прописано, и дни никто не поймет. А за идею СПАСИБО


 
Плохиш ©   (2007-04-25 18:32) [4]


> Key999   (25.04.07 17:41)  


> key999   (25.04.07 18:20) [3]

За час 20 можно уже было несколько десятков таких функций написать...


 
antonn.pda   (2007-04-25 18:33) [5]

хранить время в секундах. а дальше просто:
часы=сек div 60*60
мин=(сек-часы*60*60) div 60
секк=(сек-часы*60*60-мин*60) div 60

вывод=часы.мин.секк


 
key999   (2007-04-25 19:02) [6]

>Плохиш ©
20? Таких? За час? Маловато будет... Это просто время просмотра... ;-) Всем СЭНКС



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.05.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
15-1176554505
=Guest=
2007-04-14 16:41
2007.05.13
глава ЕС


2-1177236933
derrini
2007-04-22 14:15
2007.05.13
Отправка запросов в веб


3-1169545811
Alex_AA
2007-01-23 12:50
2007.05.13
Как сделать фильтр для БД?


3-1172472615
Novice
2007-02-26 09:50
2007.05.13
Две таблицы в одной сетке (Grid)


15-1176492570
ArtemESC
2007-04-13 23:29
2007.05.13
Потерял ссылку...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский