重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果DateDiff(月,开始日期,结束日期)=6
成都创新互联公司是一家专业从事成都网站设计、成都网站制作的网络公司。作为专业网络公司,成都创新互联公司依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、网络营销推广及网站设计开发服务!
在检查开始日期的月份是不是1或者7,如果是在检查结束日期的月份是不是6或者12,如果都满足 就是半年
如果DateDiff(月,开始日期,结束日期)=2并且 开始日期的月份不能被2整除 就是双月
用crystal报表,文件——新建文件——crystal报表,然后根据向导建立
一楼风中的奶牛的做法很棒,建议楼主采纳他的回答。
只是其中有一个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
不是 有 函数嘛?
now() 就是 吧
取得 后 再 分离出你所需的,分别赋值 就行了,当然 还是 有 函数的