vb.net累计时间方法的简单介绍

vb.net 时间统计问题一楼风中vb.net累计时间方法的奶牛的做法很棒 , 建议楼主采纳他的回答 。
只是其中有一个Bug,就是“倒数第二次累计分钟数为59,累计秒数达到60的时候,会出现**:60:**” 。例如{"10:57:35", "2:02:51"},我这里做vb.net累计时间方法了修改,供参考 。
另外,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 写一个方法,求一个时间变量=系统当前年月时间-去5个月的时间,求大神指点可以使用VB.NET中的DataTime对象的AddMonths方法:
Dim d1 As Date = Now
MsgBox(d1)'显示现在的机器日期与时间
MsgBox(d1.AddMonths(2))'显示现在的机器日期加上2个月的对应日期与时间
MsgBox(d1.AddMonths(-1))'显示现在的机器日期减掉1个月的对应日期与时间
DataTime对象的方法很多,你可以通过在线查阅,例如:
d1.Add()
d1.AddDays()
d1.AddHours()
d1.AddMinutes()
d1.AddSeconds()
d1.AddYears()
等等!
注意:从字面意思可以理解是加,而括号里是填写对应的数值,当数值为负数 , 起到减的作用了 。
用vb 或vb.net 获得从1970年 01月01日 到现在累计的秒数Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim d1970 As New System.DateTime(1970, 1, 1, 0, 0, 0, 0)
Dim iSeconds As Long
iSeconds = (Now.Ticks - d1970.Ticks) / 10000000
MsgBox(iSeconds)
End Sub
vb.net 时间相加Module Module1
Sub Main()
Console.WriteLine(DateTimeAdd("01:23:45"))
Console.ReadLine()
End Sub
''' summary
''' 获取时间的累加值
''' /summary
''' param name="sDatetime"/param
''' returns/returns
''' remarks/remarks
Private Function DateTimeAdd(ByVal sDatetime As String) As DateTime
Dim sysTime As DateTime = DateTime.Now
Return sysTime.Add(TimeSpan.Parse(sDatetime))
End Function
End Module
vb.net(2008)如何实现日期相加?Dim d ad Date
Dim mDay as Double
d=Now.Date'设置当天日期或自定义日期CDate("2009-1-9")
mDay=365 '设置天数(或-365)
'以长日期格式返回相距指定天数
Text1.Tex=d.AddDays(mDay).ToLongDateString
效果和你在vb6vb.net累计时间方法的一样vb.net累计时间方法!
vb.net的,按键连续触发事件 , 比如,按着键不放 , 音量增大 。1.定义变量记录键是否被按下,按下的累计时间
Dim 按下A键As Boolean
Dim 按下A键时间 As Integer
2.添加一个TextBox1用于接收键盘事件,或者直接用窗体的键盘事件(确保KeyPreview为True)
在KeyDown事件中添加如下代码:
If e.Keycode = keys.A Then 按下A键 = True
在KeyUp事件中添加如下代码:
If e.Keycode = keys.A Then 按下A键 = False
3.添加一个Timer1控件,调整Timer1的Interval来决定按键频率 , 记得要把Timer1.Enable开启
在Tick事件中添加如下代码:
If 按下A键 = True
按下A键时间 =1
Call 音量设置(按下A键时间 * 10)
End If
PS: 按下的秒数 = 按下A键时间*Timer1.Interval / 1000
【vb.net累计时间方法的简单介绍】关于vb.net累计时间方法和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读