powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
9 сообщений из 9, страница 1 из 1
Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
    #38303789
Integrator2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. по сути, нужно отформатировать потраченное на операцию время в удобочитаемый формат.
...
Рейтинг: 0 / 0
Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
    #38303940
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто мешает? всего-то две операции - \ и MOD
...
Рейтинг: 0 / 0
Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
    #38304252
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Public Function TimeFromMilliseconds(the_ms As Long) As String
  Dim s_hour As Long
  Dim s_min As Long
  Dim s_sec As Long
  Dim s_ms As Long
  
  s_hour = the_ms \ 3600000 '3600sec*1000
  s_min = (the_ms Mod 3600000) \ 60000 '60sec*1000
  s_sec = (the_ms Mod 60000) \ 1000 '1000ms в минуте
  s_ms = the_ms Mod 1000
  TimeFromMilliseconds = IIf((s_hour > 0), Format$(s_hour, "00:"), "") & _
   Format$(s_min, "00:") & Format$(s_sec, "00:") & _
   Format$(CLng(s_ms \ 100) * 10, "00")
End Function

Public Function TimeSecFromMillisecondsStr(the_ms As Long) As String
  Dim s_sec As Long
  Dim s_ms As Long
  
  s_sec = the_ms \ 1000
  s_ms = the_ms Mod 1000
  TimeSecFromMillisecondsStr = s_sec & "." & Format$(CLng(s_ms \ 100), "0") & " s"
End Function



Если миллисекунды не нужны, можешь упростить
1sec = 1000ms

Вот ничего сложного, а я довольно долго искал/рожал этот код.
Я его использую для отображения позиции аудио файла при проигрывании
...
Рейтинг: 0 / 0
Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
    #38304646
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77,

А где "дни"? А почему двоеточиями разделяется?
Кстати, как вы относитесь к функции:
Код: vbnet
1.
2.
3.
Function SecondsTo(Seconds As Long) As String
    SecondsTo = Format$(Seconds \ 86400, "#0 дней") & Format$(Seconds / 86400, " hh часов mm минут ss секунд")
End Function
...
Рейтинг: 0 / 0
Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
    #38304694
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM, бурные аплодисменты!
...
Рейтинг: 0 / 0
Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
    #38304808
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMКстати, как вы относитесь к функции:Слишком короткая. Дмитрий любит многабукв :)
...
Рейтинг: 0 / 0
Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
    #38305366
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM Дмитрий77,
А где "дни"? А почему двоеточиями разделяется?
А почему миллисекунды?
Потому что я просто выложил аналогичный пример своей ф-ции, мне это было несложно.
А то что нужно автору быстро делается по аналогии, я специально ничего не писал.
Потому что для показа позиции в wav-файле мне нужно было так, а где ж вы видели wav -файл длиной более суток (ну покажет 28 часов в крайнем случае).
AndreTMКстати, как вы относитесь к функции:
Я никак не отношусь. Я бы и свою мог также в одну строчку забабахать без лишних переменных и "лишних" комментариев.
Зачем? Все и так понятно. Mod и \ вы конечно используете в каждой своей ф-ции, мне чесно в эти Mod и \ надо было немножко вдумываться. Извините, тупой.
...
Рейтинг: 0 / 0
Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
    #38305386
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,

Sorry еще раз. Я понял в чем преимущество вашей. Вы используете зарезервированные в ф-ции "Format" hh:mm:ss.
Но в моем случае я работал с миллисекундами на входе, и предлагаемая вами "красота" ф-ции Format не применима (по крайней мере в полном объеме).
А постом выше был дан совет
Akina всего-то две операции - \ и MOD
вот я и вспомнил что с тем же самым недавно имел дело, ну и выложил чего было.
...
Рейтинг: 0 / 0
Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
    #38305705
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77а где ж вы видели wav -файл длиной более суток
видел большую аудиокнигу одним файлом, правда в mp3
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Написать функцию которая по количеству секунт возвращает "x дней x часов x минут x секунд"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]