Convert Seconds to Days Hour Minutes Seconds in SSRS Report
Method 1: Go to report property. Open Code section and paste the below code:
Public Function SecondsToText(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)
SecondsToText= hours & ":" & mins & ":" & secs
End Function
Method 2: Go to report property. Open Code section and paste the below code:
Function SecondsToText(Seconds) As String
Dim bAddComma As Boolean
Dim Result As String
Dim sTemp As String
Dim days as String
Dim hours as String
Dim minutes as String
If Seconds <= 0 Or Not IsNumeric(Seconds) Then
SecondsToText = "0 seconds"
Exit Function
End If
Seconds = Fix(Seconds)
If Seconds >= 86400 Then
days = Fix(Seconds / 86400)
Else
days = 0
End If
If Seconds - (days * 86400) >= 3600 Then
hours = Fix((Seconds - (days * 86400)) / 3600)
Else
hours = 0
End If
If Seconds - (hours * 3600) - (days * 86400) >= 60 Then
minutes = Fix((Seconds - (hours * 3600) - (days * 86400)) / 60)
Else
minutes = 0
End If
Seconds = Seconds - (minutes * 60) - (hours * 3600) - _
(days * 86400)
If Seconds > 0 Then Result = Seconds & " second" & AutoS(Seconds)
If minutes > 0 Then
bAddComma = Result <> ""
sTemp = minutes & " minute" & AutoS(minutes)
If bAddComma Then sTemp = sTemp & ", "
Result = sTemp & Result
End If
If hours > 0 Then
bAddComma = Result <> ""
sTemp = hours & " hour" & AutoS(hours)
If bAddComma Then sTemp = sTemp & ", "
Result = sTemp & Result
End If
If days > 0 Then
bAddComma = Result <> ""
sTemp = days & " day" & AutoS(days)
If bAddComma Then sTemp = sTemp & ", "
Result = sTemp & Result
End If
SecondsToText = Result
End Function
Function AutoS(Number)
If Number = 1 Then AutoS = "" Else AutoS = "s"
End Function
Then in field paste the below code:
=code.SecondsToText(fields!TimeInSeconds.value)
Method 3:
=DATEADD("s", SUM(Fields!TimeinSeconds.Value), CDate("00:00")).ToString("HH:mm:ss")
Method 1: Go to report property. Open Code section and paste the below code:
Public Function SecondsToText(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)
SecondsToText= hours & ":" & mins & ":" & secs
End Function
Method 2: Go to report property. Open Code section and paste the below code:
Function SecondsToText(Seconds) As String
Dim bAddComma As Boolean
Dim Result As String
Dim sTemp As String
Dim days as String
Dim hours as String
Dim minutes as String
If Seconds <= 0 Or Not IsNumeric(Seconds) Then
SecondsToText = "0 seconds"
Exit Function
End If
Seconds = Fix(Seconds)
If Seconds >= 86400 Then
days = Fix(Seconds / 86400)
Else
days = 0
End If
If Seconds - (days * 86400) >= 3600 Then
hours = Fix((Seconds - (days * 86400)) / 3600)
Else
hours = 0
End If
If Seconds - (hours * 3600) - (days * 86400) >= 60 Then
minutes = Fix((Seconds - (hours * 3600) - (days * 86400)) / 60)
Else
minutes = 0
End If
Seconds = Seconds - (minutes * 60) - (hours * 3600) - _
(days * 86400)
If Seconds > 0 Then Result = Seconds & " second" & AutoS(Seconds)
If minutes > 0 Then
bAddComma = Result <> ""
sTemp = minutes & " minute" & AutoS(minutes)
If bAddComma Then sTemp = sTemp & ", "
Result = sTemp & Result
End If
If hours > 0 Then
bAddComma = Result <> ""
sTemp = hours & " hour" & AutoS(hours)
If bAddComma Then sTemp = sTemp & ", "
Result = sTemp & Result
End If
If days > 0 Then
bAddComma = Result <> ""
sTemp = days & " day" & AutoS(days)
If bAddComma Then sTemp = sTemp & ", "
Result = sTemp & Result
End If
SecondsToText = Result
End Function
Function AutoS(Number)
If Number = 1 Then AutoS = "" Else AutoS = "s"
End Function
Then in field paste the below code:
=code.SecondsToText(fields!TimeInSeconds.value)
Method 3:
=DATEADD("s", SUM(Fields!TimeinSeconds.Value), CDate("00:00")).ToString("HH:mm:ss")
No comments:
Post a Comment