关于vb点虐 文本时间的信息

vb点虐 时间统计问题

一楼风中的奶牛的做法很棒,建议楼主采纳他的回答。

创新互联公司成立与2013年,是专业互联网技术服务公司,拥有项目成都网站制作、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元迪庆州做网站,已为上家服务,为迪庆州各地企业和个人服务,联系电话:028-86922220

只是其中有一个Bug,就是“倒数第二次累计分钟数为59,累计秒数达到60的时候,会出现**:60:**”。例如{"10:57:35", "2:02:51"},我这里做了修改,供参考。

另外,AddByInts中不需要进行循环和Select判断,可以简化。

同时,为了说明类和结构的关系,这里改用类。

也请一楼风中的奶牛勿怪罪在下啊!

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'Dim str As String() = {"10:30:35", "2:02:51", "17:00:35", "2:02:51"}

Dim str As String() = {"10:57:35", "2:02:51"}

Dim time As TimeSerial = New TimeSerial

For Each dt As String In str

time.Add(dt)

Next

MsgBox(time.ToString)

End Sub

End Class

Public Class TimeSerial

Public Hour As Integer ' 时间的小时部分

Public Minute As Integer ' 时间的分钟部分

Public Second As Integer ' 时间的秒钟部分

' 合并添加新的时间值

' param name="value"文本时间格式(00:00:00)/param

Public Sub Add(ByVal value As String)

Dim arr As String() = Split(value, ":")

Dim dts(arr.Length - 1) As Integer

For i As Integer = 0 To arr.Length - 1

dts(i) = CInt(Val(arr(i)))

Next

AddByInts(dts)

End Sub

' 合并添加新的时间值

' param name="value"时间值(仅计算:时、分、秒)/param

Public Sub Add(ByVal value As Date)

Dim dts(2) As Integer

dts(0) = value.Hour

dts(1) = value.Minute

dts(2) = value.Second

AddByInts(dts)

End Sub

Private Sub AddByInts(ByVal value As Integer())

Second += value(2)

If Second = 60 Then

Minute += Int(Second / 60)

Second = Second Mod 60

End If

Minute += value(1)

If Minute = 60 Then

Hour += Int(Minute / 60)

Minute = Minute Mod 60

End If

Hour += value(0)

End Sub

' 获取时间的文本格式(00:00:00)

Public Overrides Function ToString() As String

Return Hour ":" Minute ":" Second

End Function

End Class

使用VB.NET的五个技巧之在组件中显示时间

开发过程过程中我们通常对特定代码片运行所花的时间很感兴趣 当然有一些标准程序和代码工具可以查看到它 但是有经验的Visual Basic 开发者有更快的办法 仅仅捕捉开始时间(使用Now关键字)和终止时间(再次使用Now关键字) 两种相减 就能知道结果了

如果使用Visual Basic NET编写 首先尝试的代码可能是这样的

Dim StartTime As DateTime = Now {code to check for timing goes here} Dim EndTime As DateTime = Now Console WriteLine((StartTime EndTime) ToString)

但是这段代码的最后一行有语法错误 错误消息是 日期类型没有定义 - 操作符 这意味着我们不能执行减法 日期数据类型不支持减法操作 那么我们怎么得到两次时间的差别呢?

答案就是使用TimeSpan类 它是用于保持时间段的 上面的代码看起来与 NET框架组件中的相似

Dim StartTime As DateTime = Now {code to check for timing goes here} Dim EndTime As DateTime = Now Dim RunLength As System TimeSpan RunLength = EndTime Subtract(StartTime) Console WriteLine(RunLength ToString)

计算使用的是类Date的Subtract方法 最后一行将输出时间的跨度 格式化成小时 分钟和秒(包括秒的小数位) 典型的输出是这样的

该时间跨度是 秒半 尽管显示了 位小数 但是只能相信两位 但是已经足够了

结论

lishixinzhi/Article/program/net/201311/11820

vb点虐 如何获取时间?

两种方式自己选用

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim s As String

s = DateTime.Today.Year()

s = s DateTime.Today.Month()

s = s DateTime.Today.Day()

s = s DateTime.Now.Hour()

s = s DateTime.Now.Minute()

s = s DateTime.Now.Second()

MsgBox(s, vbDefaultButton1, Now())

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim s As String

s = Format(Now(), "yyyymmddhhmmss")

MsgBox(s, vbYes, Now())

End Sub

VB.NET中用label显示时间

Label1.Text = "12时演示:" + Now.ToString("yyyy-MM-dd hh:mm:ss")

Label2.Text = "24时演示:" + Now.ToString("yyyy-MM-dd HH:mm:ss")

Label3.Text = "UTC时演示:" + System.DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss")

Label4.Text = "时间为不补0:" + Now.ToString("yyyy-MM-dd H:m:s")

Label5.Text = "时间戳:" + CLng(System.DateTime.UtcNow.Subtract(New Date(1970, 1, 1, 0, 0, 0)).TotalMilliseconds).ToString


本文题目:关于vb点虐 文本时间的信息
文章地址:http://scjbc.cn/article/ddjpihs.html

其他资讯