如何计算日期更改VB时的正确时间 [英] How to I count the right time when date changes VB

查看:71
本文介绍了如何计算日期更改VB时的正确时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为我的工作制作一个程序来计算工作时间我有2个文本框,一周中的每一天一个用于放置开始时间和下一个完成时间我让它工作没有问题直到我把完成时间为24:00或24:30

或00:00或00:30



我有什么试过:



  Dim  a  As  字符串 
Dim t1 As DateTime ' = DateTime.Parse(stathisa.Text)
Dim t2 作为 DateTime ' = DateTime.Parse(stathis1.Text)
Dim t3 As DateTime ' = DateTime.Parse(stathisb.Text)
Dim t4 As DateTime ' = DateTime。 Parse(stathis2.Text)
Dim t5 As DateTime = DateTime.Parse(stathisc.Text)
Dim t6 As DateTime ' = DateTime.Parse( stathis3.Text)
Dim t7 作为 DateTime ' = DateTime.Parse(stathisd.Text)
Dim t8 作为 DateTime ' = DateTime.Parse(stathis4.Text)
Dim t9 As DateTime ' = DateTime .Parse(stathise.Text)
Dim t10 As DateTime ' = DateTime.Parse(stathis5.Text)
Dim t11 As DateTime ' = DateTime.Parse (stathisf.Text)
Dim t12 As DateTime ' = DateTime.Parse(stathis6.Text)
Dim t13 作为日期时间' = DateTime.Parse(stathisg.Text)
Dim t14 作为 DateTime ' = DateTime.Parse(stathis7.Text)






如果 stathisa.Text = OFF stathis1.Text = OFF 然后
stathis1.Text = OFF
stathisa .Text = OFF

结束 如果

如果 stathisb.Text = OFF stathis2.Text = OFF 然后
stathis2.Text = OFF
stathisb.Text = OFF

< span class =code-keyword>结束 如果

如果 stathisc.Text = OFF stathis3.Text = OFF 然后
stathis3.Text = OFF
stathisc.Text = OFF

结束 如果
如果 stathisd.Text = OFF stathis4.Text = OFF 然后
stathis4.Text = OFF
stathisd.Text = < span class =code-string> OFF

End 如果
如果 stathise.Text = OFF stathis5 .Text = OFF 然后
stathis5.Text = OFF
stathise.Text = OFF

结束 如果
如果 stathisf.Text = OFF stathis6.Text = OFF 然后
stathis6.Text = OFF
stathisf.Text = OFF
' '
结束 如果
如果 stathisg.Text = OFF stathis7.Text = OFF 然后
stathis7.Text = OFF
stathisg.Text = OFF

< span class =code-keyword>结束 如果

如果 stathisa.Text = HOLIDAYS stathis1.Text = HOLIDAYS
然后
stathis1.Text = HOLIDAYS
stathisa.Text = HOLIDAYS

结束 如果

如果 stathisb.Text = HOLIDAYS stathis2.Text = HOLIDAYS 然后
stathis2.Text = HOLIDAYS
stathisb .Text = HOLIDAYS

结束 如果

如果 stathisc.Text = HOLIDAYS stathis3.Text = HOLIDAYS 然后
stathis3.Text = HOLIDAYS
stathisc.Text = HOLIDAYS

结束 如果
如果 stathisd.Text = HOLIDAYS stathis4.Text = HOLIDAYS 然后
stathis4.Text = < span class =code-string> HOLIDAYS
stathisd.Text = HOLIDAYS

结束 如果
如果 stathise.Text = HOLIDAYS stathis5.Text = HOLIDAYS 然后
stathis5.Text = HOLIDAYS
stathise.Text = HOLIDAYS

结束 如果
如果 stathisf.Text = HO LIDAYS stathis6.Text = HOLIDAYS 然后
stathis6.Text = HOLIDAYS
stathisf.Text = HOLIDAYS
' '
结束 如果
如果 stathisg.Text = HOLIDAYS stathis7.Text = HOLIDAYS 然后
stathis7.Text = HOLIDAYS
stathisg.Text = HOLIDAYS

结束 如果






如果 stathisa.SelectedIndex = -1 stathis1.SelectedIndex = -1 然后
stathis1.SelectedIndex = -1
stathisa.SelectedIndex = -1

结束 如果

如果 stathisb.SelectedIndex = -1 stathis2.SelectedIndex = -1 然后
stathis2.SelectedIndex = -1
stathisb.SelectedIndex = -1

结束 如果

如果 stathisc.SelectedIndex = -1 stathis3.SelectedIndex = -1 然后
stathis3.SelectedIndex = -1
stathisc.SelectedIndex = -1

结束 如果
如果 stathisd.SelectedIndex = -1 或者 stathis4.SelectedIndex = -1 然后
stathis4.SelectedIndex = -1
stathisd.SelectedIndex = -1

结束 如果
如果 stathise.SelectedIndex = -1 stathis5.SelectedIndex = -1 然后
stathis5 .SelectedIndex = -1
stathise.SelectedIndex = -1

结束 如果
如果 stathisf.SelectedIndex = -1 stathis6.SelectedIndex = -1 然后
stathis6.SelectedIndex = -1
stathisf.SelectedIndex = -1
' '
结束 如果
如果 stathisg.SelectedIndex = -1 stathis7.SelectedIndex = -1 然后
stathis7 .SelectedIndex = -1
stathisg.SelectedIndex = -1

结束 如果





如果 s tathisa.Text.Contains( OFF)= False
stathisa.Text.Contains( HOLIDAYS)= False
stathisa.Text = vbNullString = False
stathis1.Text.Contains( OFF)= 错误 或者
stathis1.Text.Contains( HOLIDAYS)= False
stathis1.Text = vbNullString 然后

尝试




t1 = DateTime.Parse(stathisa.Text)
t2 = DateTime.Parse (stathis1.Text)

Catch ex As 例外

结束 尝试



< span class =code-keyword> Else

t1 = vbNullString

t2 = vbNullString
结束 如果







如果 stathisb.Text.Contains( OFF )= 错误
stathisb.Text.Contains( HOLIDAYS)= False
stathisb.Text = vbNullString = False
stathis2.Text.Contains( OFF)= False
stathis2.Text。包含( HOLIDAYS)= 错误
stathis2.Text = vbNullString 然后

尝试




t3 = DateTime.Parse(stathisb.Text)
t4 =日期时间。 Parse(stathis2.Text)

Catch ex As 异常

结束 尝试

其他
t3 = vbNullString

t4 = vbNullString
结束 如果




如果 stathisc.Text.Contains( OFF)= False
stathisc.Text.Contains( HOLIDAYS)= False
stathisc.Text = vbNullString = False
stathis3.Text.Contains( OFF)= False
stathis3.Text.Contains( HOLIDAYS) = 错误
stathis3.Text = vbNullString 然后

尝试


t5 = DateTime.Parse(stathisc.Text)
t6 = DateTime.Parse(stathis3.Text)


Catch ex 作为例外

结束 尝试

其他
t5 = vbNullString
t6 = vbNullString

结束 如果







如果 stathisd.Text.Contains( OFF)= 错误
stathisd.Text.Contains( HOLIDAYS)= False
stathisd .Text = vbNullString = False
stathis4.Text.Contains( OFF)= False
stathis4.Text.Contains( HOLIDAYS) = False
stathis4.Text = vbNullString 然后


尝试


t7 = DateTime.Parse(stathisd.Text)
t8 = DateTime.Parse(stathis4.Text)

Catch ex As 例外

结束 尝试

其他
t7 = vbNullString
t8 = vbNullString

结束 如果





如果 stathise.Text.Contains( OFF)= False
stathise.Text.Contains(< span class =code-string> HOLIDAYS)= False
stath ise.Text = vbNullString = False
stathis5.Text.Contains( OFF)= False
stathis5.Text.Contains( HOLIDAYS )= False
stathis5.Text = vbNullString 然后

尝试


t9 = DateTime.Parse(stathise.Text )
t10 = DateTime.Parse(stathis5.Text)

Catch ex As 例外

结束 尝试


E. lse
t9 = vbNullString
t10 = vbNullString

结束 如果





如果 stathisf.Text。包含( OFF)= False
stathisf.Text.Contains( HOLIDAYS)= False
stathisf.Text = vbNullString = False
stathisf.Text.Contains( OFF)= False
stathisf.Text.Contains( HOL IDAYS)= False
stathisf.Text = vbNullString 然后

尝试


t11 = DateTime .Parse(stathisf.Text)
t12 = DateTime.Parse(stathis6.Text)


Catch ex < span class =code-keyword> As 异常

结束 尝试




否则
t11 = vbNullString
t12 = vbNullString

结束 如果







如果 stathisg.Text.Contains( OFF )= 错误
stathisg.Text.Contains( HOLIDAYS)= False
stathisg.Text = vbNullString = False
stathis7.Text.Contains( OFF)= 错误
stathis7.Text.Contains( HOLIDAYS)= False
stathis7.Text = vbNullString 然后



尝试


t13 = DateTime.Parse(stathisg.Text)
t14 = DateTime.Parse(stathis7.Text)

Catch ex As 异常

结束 尝试


< span class =code-keyword> Else
t13 = vbNullString
t14 = vbNullString

结束 如果






Dim ts As TimeSpan =((t1.Subtract(t2))+(t3.Subtract(t4)+(t5.Subtract( t6)+(t7.Subtract(t8)+(t9.Subtract(t10)+(t11.Subtract(t12)+(t13.Subtract(t14))))))))
a =(ts)。 Hours.ToString( 00)& & ts.Minutes.ToString( 00
a = Abs(ts.TotalHours)
TextBox1.Text = a

如果 a> 42 然后
TextBox1。 ReadOnly = False
TextBox1.ForeColor = Color.Red
MessageBox.Show( 超过最大小时数
其他
TextBox1.ForeColor = Color.Black
TextBox1。 ReadOnly = True

结束 如果

解决方案

< blockquote class =quote>

引用:

如何在日期更改时计算正确的时间VB



这是一个简单的问题,你每天解决o,你的头脑,想想你是怎么做的,拿一张纸并手工完成(详细说明操作(你在脑海中),你的程序应该使用相同的程序。



作为程序员,你的工作是创建算法来解决具体问题问题,你不能依赖别人永远为你做,所以有一段时间你将不得不学习如何。而且越快越好。

当你要求解决方案时,就像试图通过培训其他人来学习开车一样。

创建算法基本上是找到数学并做出必要的调整以适应你的实际问题。


i am making a program for my work to calculate the hours worked by the stuff i have 2 textboxes for each day of the week one to put start time and the next finish time i make it to work with no problems until i put the time to finish to 24:00 or 24:30
or 00:00 or 00:30

What I have tried:

Dim a As String
        Dim t1 As DateTime '= DateTime.Parse(stathisa.Text)
        Dim t2 As DateTime '= DateTime.Parse(stathis1.Text)
        Dim t3 As DateTime '= DateTime.Parse(stathisb.Text)
        Dim t4 As DateTime '= DateTime.Parse(stathis2.Text)
        Dim t5 As DateTime '= DateTime.Parse(stathisc.Text)
        Dim t6 As DateTime '= DateTime.Parse(stathis3.Text)
        Dim t7 As DateTime '= DateTime.Parse(stathisd.Text)
        Dim t8 As DateTime '= DateTime.Parse(stathis4.Text)
        Dim t9 As DateTime '= DateTime.Parse(stathise.Text)
        Dim t10 As DateTime '= DateTime.Parse(stathis5.Text)
        Dim t11 As DateTime '= DateTime.Parse(stathisf.Text)
        Dim t12 As DateTime '= DateTime.Parse(stathis6.Text)
        Dim t13 As DateTime '= DateTime.Parse(stathisg.Text)
        Dim t14 As DateTime '= DateTime.Parse(stathis7.Text)




        
       
        If stathisa.Text = "OFF" Or stathis1.Text = "OFF" Then
            stathis1.Text = "OFF"
            stathisa.Text = "OFF"
           
        End If

        If stathisb.Text = "OFF" Or stathis2.Text = "OFF" Then
            stathis2.Text = "OFF"
            stathisb.Text = "OFF"
           
        End If

        If stathisc.Text = "OFF" Or stathis3.Text = "OFF" Then
            stathis3.Text = "OFF"
            stathisc.Text = "OFF"

        End If
        If stathisd.Text = "OFF" Or stathis4.Text = "OFF" Then
            stathis4.Text = "OFF"
            stathisd.Text = "OFF"

        End If
        If stathise.Text = "OFF" Or stathis5.Text = "OFF" Then
            stathis5.Text = "OFF"
            stathise.Text = "OFF"

        End If
        If stathisf.Text = "OFF" Or stathis6.Text = "OFF" Then
            stathis6.Text = "OFF"
            stathisf.Text = "OFF"
            ''
        End If
        If stathisg.Text = "OFF" Or stathis7.Text = "OFF" Then
            stathis7.Text = "OFF"
            stathisg.Text = "OFF"

        End If
       
        If stathisa.Text = "HOLIDAYS" Or stathis1.Text = "HOLIDAYS" Then
            stathis1.Text = "HOLIDAYS"
            stathisa.Text = "HOLIDAYS"

        End If

        If stathisb.Text = "HOLIDAYS" Or stathis2.Text = "HOLIDAYS" Then
            stathis2.Text = "HOLIDAYS"
            stathisb.Text = "HOLIDAYS"

        End If

        If stathisc.Text = "HOLIDAYS" Or stathis3.Text = "HOLIDAYS" Then
            stathis3.Text = "HOLIDAYS"
            stathisc.Text = "HOLIDAYS"

        End If
        If stathisd.Text = "HOLIDAYS" Or stathis4.Text = "HOLIDAYS" Then
            stathis4.Text = "HOLIDAYS"
            stathisd.Text = "HOLIDAYS"

        End If
        If stathise.Text = "HOLIDAYS" Or stathis5.Text = "HOLIDAYS" Then
            stathis5.Text = "HOLIDAYS"
            stathise.Text = "HOLIDAYS"

        End If
        If stathisf.Text = "HOLIDAYS" Or stathis6.Text = "HOLIDAYS" Then
            stathis6.Text = "HOLIDAYS"
            stathisf.Text = "HOLIDAYS"
            ''
        End If
        If stathisg.Text = "HOLIDAYS" Or stathis7.Text = "HOLIDAYS" Then
            stathis7.Text = "HOLIDAYS"
            stathisg.Text = "HOLIDAYS"

        End If





       
        If stathisa.SelectedIndex = -1 Or stathis1.SelectedIndex = -1 Then
            stathis1.SelectedIndex = -1
            stathisa.SelectedIndex = -1

        End If

        If stathisb.SelectedIndex = -1 Or stathis2.SelectedIndex = -1 Then
            stathis2.SelectedIndex = -1
            stathisb.SelectedIndex = -1

        End If

        If stathisc.SelectedIndex = -1 Or stathis3.SelectedIndex = -1 Then
            stathis3.SelectedIndex = -1
            stathisc.SelectedIndex = -1

        End If
        If stathisd.SelectedIndex = -1 Or stathis4.SelectedIndex = -1 Then
            stathis4.SelectedIndex = -1
            stathisd.SelectedIndex = -1

        End If
        If stathise.SelectedIndex = -1 Or stathis5.SelectedIndex = -1 Then
            stathis5.SelectedIndex = -1
            stathise.SelectedIndex = -1

        End If
        If stathisf.SelectedIndex = -1 Or stathis6.SelectedIndex = -1 Then
            stathis6.SelectedIndex = -1
            stathisf.SelectedIndex = -1
            ''
        End If
        If stathisg.SelectedIndex = -1 Or stathis7.SelectedIndex = -1 Then
            stathis7.SelectedIndex = -1
            stathisg.SelectedIndex = -1

        End If

       


       
        If stathisa.Text.Contains("OFF") = False Or
           stathisa.Text.Contains("HOLIDAYS") = False Or
           stathisa.Text = vbNullString = False Or
           stathis1.Text.Contains("OFF") = False Or
           stathis1.Text.Contains("HOLIDAYS") = False Or
           stathis1.Text = vbNullString Then

            Try




                t1 = DateTime.Parse(stathisa.Text)
                t2 = DateTime.Parse(stathis1.Text)

            Catch ex As Exception

            End Try



        Else

            t1 = vbNullString

            t2 = vbNullString
        End If







        If stathisb.Text.Contains("OFF") = False Or
       stathisb.Text.Contains("HOLIDAYS") = False Or
       stathisb.Text = vbNullString = False Or
       stathis2.Text.Contains("OFF") = False Or
       stathis2.Text.Contains("HOLIDAYS") = False Or
       stathis2.Text = vbNullString Then

            Try




                t3 = DateTime.Parse(stathisb.Text)
                t4 = DateTime.Parse(stathis2.Text)

            Catch ex As Exception

            End Try

        Else
            t3 = vbNullString

            t4 = vbNullString
        End If




        If stathisc.Text.Contains("OFF") = False Or
   stathisc.Text.Contains("HOLIDAYS") = False Or
   stathisc.Text = vbNullString = False Or
   stathis3.Text.Contains("OFF") = False Or
   stathis3.Text.Contains("HOLIDAYS") = False Or
   stathis3.Text = vbNullString Then

            Try

           
            t5 = DateTime.Parse(stathisc.Text)
                t6 = DateTime.Parse(stathis3.Text)


            Catch ex As Exception

            End Try

        Else
            t5 = vbNullString
            t6 = vbNullString

        End If







        If stathisd.Text.Contains("OFF") = False Or
stathisd.Text.Contains("HOLIDAYS") = False Or
stathisd.Text = vbNullString = False Or
stathis4.Text.Contains("OFF") = False Or
stathis4.Text.Contains("HOLIDAYS") = False Or
stathis4.Text = vbNullString Then


            Try

           
            t7 = DateTime.Parse(stathisd.Text)
                t8 = DateTime.Parse(stathis4.Text)

            Catch ex As Exception

            End Try

        Else
            t7 = vbNullString
            t8 = vbNullString

        End If





        If stathise.Text.Contains("OFF") = False Or
stathise.Text.Contains("HOLIDAYS") = False Or
stathise.Text = vbNullString = False Or
stathis5.Text.Contains("OFF") = False Or
stathis5.Text.Contains("HOLIDAYS") = False Or
stathis5.Text = vbNullString Then

            Try

            
            t9 = DateTime.Parse(stathise.Text)
                t10 = DateTime.Parse(stathis5.Text)

            Catch ex As Exception

            End Try


        Else
            t9 = vbNullString
            t10 = vbNullString

        End If





        If stathisf.Text.Contains("OFF") = False Or
stathisf.Text.Contains("HOLIDAYS") = False Or
stathisf.Text = vbNullString = False Or
stathisf.Text.Contains("OFF") = False Or
stathisf.Text.Contains("HOLIDAYS") = False Or
stathisf.Text = vbNullString Then

            Try

            
            t11 = DateTime.Parse(stathisf.Text)
                t12 = DateTime.Parse(stathis6.Text)


            Catch ex As Exception

            End Try




        Else
            t11 = vbNullString
            t12 = vbNullString

        End If







        If stathisg.Text.Contains("OFF") = False Or
stathisg.Text.Contains("HOLIDAYS") = False Or
stathisg.Text = vbNullString = False Or
stathis7.Text.Contains("OFF") = False Or
stathis7.Text.Contains("HOLIDAYS") = False Or
stathis7.Text = vbNullString Then



            Try

            
            t13 = DateTime.Parse(stathisg.Text)
                t14 = DateTime.Parse(stathis7.Text)

            Catch ex As Exception

            End Try


        Else
            t13 = vbNullString
            t14 = vbNullString

        End If
        


        


        Dim ts As TimeSpan = ((t1.Subtract(t2)) + (t3.Subtract(t4) + (t5.Subtract(t6) + (t7.Subtract(t8) + (t9.Subtract(t10) + (t11.Subtract(t12) + (t13.Subtract(t14))))))))
        a = (ts).Hours.ToString("00") & ":" & ts.Minutes.ToString("00")
        a = Abs(ts.TotalHours)
        TextBox1.Text = a

        If a > 42 Then
            TextBox1.ReadOnly = False
            TextBox1.ForeColor = Color.Red
            MessageBox.Show("Maximum Hours Exceeded")
        Else
            TextBox1.ForeColor = Color.Black
            TextBox1.ReadOnly = True

        End If

解决方案

Quote:

How to I count the right time when date changes VB


This is an easy problem that you solve daily o, your head, Think about how you do, take a sheet of paper and to do it by hand (details the operations you do in your head), your program should use the same procedure.

As programmer, your job is to create algorithms that solve specific problems and you can't rely on someone else to eternally do it for you, so there is a time where you will have to learn how to. And the sooner, the better.
When you just ask for the solution, it is like trying to learn to drive a car by having someone else training.
Creating an algorithm is basically finding the maths and make necessary adaptation to fit your actual problem.


这篇关于如何计算日期更改VB时的正确时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆