VB,將"秒"轉成"時分秒"格式


參考博客:http://share.freesion.com/427239/

數據庫存放字段worktime,(類型:varchar(6),說明:HHmmss),頁面要求顯示 HH:mm:ss

1.sql語句,可以將worktime的數據,轉成 秒數

SELECT
    SUM(
        cast( substring( d13.`worktime`, 1, 2 ) AS DECIMAL ) * 3600 + cast( substring( d13.`worktime`, 3, 2 ) AS DECIMAL ) * 60+ cast( substring( d13.`worktime`, 5, 2 ) AS DECIMAL ) 
    ) AS 'totalTime'
FROM d13

2.vb后台,將 秒數 轉成 時分秒的格式

label1.Text = Format(DateAdd("s", CDec(label1.Text), "00:00:00"), "HH:mm:ss")

CDec(表達式):是將表達式參數,轉成Decimal類型的數據 totalTime

https://docs.microsoft.com/zh-cn/office/vba/Language/Reference/User-Interface-Help/dateadd-function    DateAdd方法的介紹

DateAdd("s",秒數,"00:00:00"),將秒 轉成 包含時分秒的日期

Format(object,"格式"),在這里,格式日期數據,返回string

 

 

公司同事用的方法,推薦一下

#Region "計算時間差返回HHMMSS"
    <WebMethod()>
    Public Function descHHmmss(ByVal _start As String, ByVal _end As String) As String
        Dim hhmmss As String = ""
        If _start.Trim <> "" AndAlso _end.Trim <> "" Then
            Dim _t1 As TimeSpan = TimeSpan.Parse(_start)
            Dim _t2 As TimeSpan = TimeSpan.Parse(_end)
            Dim _ts As TimeSpan = (_t2 - _t1)
            hhmmss = _ts.Hours.ToString.PadLeft(2, "0") & ":" & _ts.Minutes.ToString.PadLeft(2, "0") & ":" & _ts.Seconds.ToString.PadLeft(2, "0")
        End If
        Return hhmmss
    End Function
#End Region

 

可以用TimeSpan,將字符串轉成日期數據,從TimeSpan中,可以取到小時,分鍾,秒數等等,如下圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM