powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / преобразование числа во временной период
11 сообщений из 11, страница 1 из 1
преобразование числа во временной период
    #38253946
Приветствую друзья. Есть столбец service_count в которой хранится число, это время в секундах(например, 68 - это 1 минута 8 секунд). Надо сделать такую функцию которая входные данные форматировала бы к такому результату: Допустим подается 68, на выходе выдается 01:08. Как это можно реализовать в repoting ser
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38254065
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimeSpan
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38254649
Remind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напишите свою функцию, например

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Public Function ConvertSecondsToHourMinSec(ByVal intTotalSeconds) As String
    Dim hours As String =INT(intTotalSeconds/3600)
    If Len(hours) < 2 Then
        hours = RIGHT(("0" & hours), 2)
    End If
    Dim mins As String = RIGHT("0" & INT((intTotalSeconds MOD 3600)/60), 2)
    Dim secs AS String = RIGHT("0" & ((intTotalSeconds MOD 3600) MOD 60), 2)

    ConvertSecondsToHourMinSec = hours & ":" & mins & ":" & secs

End Function
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38254809
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Remind, что это за ужос? :)

Код: vbnet
1.
2.
3.
Public Function Parse(scs As Integer) As String 
    Return New TimeSpan(0, 0, scs).ToString("mm\:ss")
End Function
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38254990
Remind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Форматирование TimeSpan доступно начиная с .NetFramework 4.0, а значит только в SSRS 2012.

Кстати, а что покажет TimeSpan, если кол-во часов (минут) больше 24 (60) ?
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38254999
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RemindФорматирование TimeSpan доступно начиная с .NetFramework 4.0, а значит только в SSRS 2012.
Не проблема - можно обернуть в DateTime и форматнуть:
http://codearticles.ru/articles/1320 new DateTime(>>>TimeSpan.Ticks<<<).ToString("mm:ss");


RemindКстати, а что покажет TimeSpan, если кол-во часов (минут) больше 24 (60) ?
Корректно отработает, "стрелки начнут новый обход циферблата"
TimeSpan(1000, 1000, 1000) = 42.08:56:40
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38255009
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНе проблема - можно обернуть в DateTime и форматнуть
FW < 4.0
Код: vbnet
1.
2.
3.
Public Function Parse(scs As Integer) As String
    Return New DateTime((New TimeSpan(0, 0, scs)).Ticks).ToString("mm:ss")
End Function
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38255041
Remind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению,

Код: vbnet
1.
Return New DateTime((New TimeSpan(1000, 1000, 1000)).Ticks).ToString("mm:ss")



вернет "56:40". Для некоторых решений это возможно и подойдет, но если нужно считать длительность в определенном формате, где кол-во часов может быть больше 24, а минут больше 60, то придется написать собственную функцию.
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38255047
Remind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А за то, что его можно обернуть в DateTime спасибо, буду иметь ввиду :)
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38255079
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RemindК сожалению,

Код: vbnet
1.
Return New DateTime((New TimeSpan(1000, 1000, 1000)).Ticks).ToString("mm:ss")



вернет "56:40". Для некоторых решений это возможно и подойдет, но если нужно считать длительность в определенном формате, где кол-во часов может быть больше 24, а минут больше 60, то придется написать собственную функцию.
И опять мимо :) Ничего писать не надо, глянь второй рецепт:

Код: sql
1.
2.
var time = new TimeSpan(1000, 1000, 1000);
string value = string.Format("{0}hr {1}mn {2}sec", (int)time.TotalHours,  time.Minutes, time.Seconds); // 1016hr 56mn 40sec



TimeSpan форматировать можно по-размному.
...
Рейтинг: 0 / 0
преобразование числа во временной период
    #38255290
Remind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Круто, большое спасибо :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / преобразование числа во временной период
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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