我通常有这样的好方法在Excel中使用简单细胞的自定义格式[HH]正常数字格式转换到小时和分钟格式:毫米果然出这样的:格式的时间[HH]:mm格式
现在,我似乎无法找到一个类似的在Visual Basic 2010或SQL 2000中要做到这一点所以没有任何一个的方式做到这一点知道的。 在此先感谢。
注:在的括号[ HH ]:毫米是保持小时图从每24小时一圈后四舍五入为0。
我通常有这样的好方法在Excel中使用简单细胞的自定义格式[HH]正常数字格式转换到小时和分钟格式:毫米果然出这样的:格式的时间[HH]:mm格式
现在,我似乎无法找到一个类似的在Visual Basic 2010或SQL 2000中要做到这一点所以没有任何一个的方式做到这一点知道的。 在此先感谢。
注:在的括号[ HH ]:毫米是保持小时图从每24小时一圈后四舍五入为0。
试试这个:
Public Function FormatHoursAndMinutes(totalMinutes As Integer) As String
Dim span As TimeSpan = TimeSpan.FromMinutes(totalMinutes)
Return String.Format("{0:00}:{1:00}", CInt(Math.Floor(span.TotalHours)), span.Minutes)
End Function
是的,谢谢我试过但它不能正常工作你知道我写的时间是1.5小时我需要的是这个结果1:30当你的函数给了我另一个结果时,我欣赏直接的方式虽然非常感谢,但给出了答案。 –
糟糕。忘了把它放下来。我通过添加'Math.Floor'来修复它。 –
非常感谢你,虽然24小时内它不工作,但它只是回到零,即24.5小时= 00:30使用你的功能。 –
这听起来像你想有一个TimeSpan并使用FromMinutes方法来构建它。
然后,您可以使用.ToString()
或其重载之一格式化TimeSpan
进行显示。
它看起来不像任何标准或自定义格式字符串都支持该格式。所以,在传递自己的格式化对象之后,ToString方法将无法正常工作。 –
如果您想要显示24小时以上的内容。是否真的需要在每次要将Interger转换为hh:mm时创建TimeSpan对象?
Public Function MinutesTohhmm(ByVal mins As Integer) As String
Dim hrs As Integer = mins \ 60
Dim mnts As Integer = mins Mod 60
Dim hhmmStr As String = IIF(hrs < 10, "0", "") & hrs & ":" & IIF(mnts < 10, "0", "") & mnts
Return hhmmStr
End Function
你知道吗? http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx –
“正常数字”是什么意思?我不知道这意味着什么。 – Oded
<>虚构? ;-) – pnuts