none
請問各位大大Combobox上的時間相減該如何計算? RRS feed

  • 問題

  • 請問各位大大Combobox上的時間相減該如何計算?

    我新增兩個Combobox 並在集合中新增了

    BTime為開始時間

            BTime.Items.Add("08:30")
            BTime.Items.Add("09:00")
            BTime.Items.Add("09:30")
            BTime.Items.Add("10:00")
            BTime.Items.Add("10:30")
            BTime.Items.Add("11:00")
            BTime.Items.Add("11:30")
            BTime.Items.Add("12:00")
            BTime.Items.Add("12:30")
            BTime.Items.Add("13:00")
            BTime.Items.Add("13:30")
            BTime.Items.Add("14:00")
            BTime.Items.Add("14:30")
            BTime.Items.Add("15:00")
            BTime.Items.Add("15:30")
            BTime.Items.Add("16:00")
            BTime.Items.Add("16:30")
            BTime.Items.Add("17:00")
            BTime.Items.Add("17:30")

    ETime為結束時間

        ETime.Items.Add("08:30")
            ETime.Items.Add("09:00")
            ETime.Items.Add("09:30")
            ETime.Items.Add("10:00")
            ETime.Items.Add("10:30")
            ETime.Items.Add("11:00")
            ETime.Items.Add("11:30")
            ETime.Items.Add("12:00")
            ETime.Items.Add("12:30")
            ETime.Items.Add("13:00")
            ETime.Items.Add("13:30")
            ETime.Items.Add("14:00")
            ETime.Items.Add("14:30")
            ETime.Items.Add("15:00")
            ETime.Items.Add("15:30")
            ETime.Items.Add("16:00")
            ETime.Items.Add("16:30")
            ETime.Items.Add("17:00")
            ETime.Items.Add("17:30")

    現在我要BTime-ETime求時間間隔

    請問各位大大該如何計算呢?

    感謝各位大大

    2015年4月30日 上午 03:57

解答

  • String.Split 後再 Convert 成 Int, 前面(小時)的乘以 60 加上 後面的(分鐘)

    這樣不就得到兩個的分鐘數, 再相減不就行了 ?


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 MichaelTsai10 2015年4月30日 上午 04:44
    • 已取消標示為解答 MichaelTsai10 2015年4月30日 上午 06:27
    • 已標示為解答 MichaelTsai10 2015年4月30日 上午 07:04
    2015年4月30日 上午 04:41
    版主

所有回覆

  • String.Split 後再 Convert 成 Int, 前面(小時)的乘以 60 加上 後面的(分鐘)

    這樣不就得到兩個的分鐘數, 再相減不就行了 ?


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    • 已標示為解答 MichaelTsai10 2015年4月30日 上午 04:44
    • 已取消標示為解答 MichaelTsai10 2015年4月30日 上午 06:27
    • 已標示為解答 MichaelTsai10 2015年4月30日 上午 07:04
    2015年4月30日 上午 04:41
    版主
  • 一般是建議你使用 TimeSpan

    用法:http://akilina108.pixnet.net/blog/post/22676529-%5B%E6%97%A5%E6%9C%9F%E6%99%82%E9%96%93%5D%5Bc%23%5D%E4%BD%BF%E7%94%A8timespan%E8%A8%88%E7%AE%97%E5%85%A9%E5%80%8B%E6%99%82%E9%96%93%E7%9A%84%E5%B7%AE%E5%80%BC


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2015年4月30日 上午 06:58
    版主
  •     Dim BTimes As DateTime
        Dim ETimes As DateTime
    
        Private Function MinutesDiff(firstTime As DateTime, secondTime As DateTime) As Integer
            If firstTime.Hour = 12 Then
                firstTime = New DateTime(firstTime.Year, firstTime.Month, firstTime.Day, 12, 0, 0)
            End If
            If secondTime.Hour = 12 Then
                secondTime = New DateTime(secondTime.Year, secondTime.Month, secondTime.Day, 12, 0, 0)
            End If
    
            MinutesDiff = Convert.ToInt32(secondTime.Subtract(firstTime).TotalMinutes)
            If (firstTime.Hour <= 12 And secondTime.Hour >= 13) Then
                MinutesDiff = MinutesDiff - 60
            End If
        End Function
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            BTimes = Convert.ToDateTime(BTime.Text)
            ETimes = Convert.ToDateTime(ETime.Text)
            MessageBox.Show(MinutesDiff(BTimes, ETimes).ToString())
    
        End Sub


    以下為簽名檔,如果你愛拉椅子坐那就是你的問題。
    先查MSDN文件庫
    再用GOOGLE搜尋
    才到論壇來發問

    這是論壇不是技術支援中心
    沒有人得無償解答你的問題

    在標題或文章註明很急
    不會增加網友回覆速度

    2015年4月30日 上午 07:15