用VB实现:输入以秒为单位表示的时间,编写程序,将其换算成几日几时几分几秒

[复制链接]
查看11 | 回复2 | 2008-5-20 19:39:15 | 显示全部楼层 |阅读模式
Option ExplicitDim Times As String, T As LongDim D As Integer, H As Integer, M As Integer, S As IntegerPrivate Sub Form_Load()
Form1.AutoRedraw = True
Times = InputBox("输入时间(单位:秒)", "输入", 123456)
T = Val(Times)
S = T Mod 60
T = T \ 60
M = T Mod 60
T = T \ 60
H = T Mod 24
D = T \ 24
Print Val(Times); "秒="; D; "日"; H; "时"; M; "分"; S; "秒"End Sub
回复

使用道具 举报

千问 | 2008-5-20 19:39:15 | 显示全部楼层
Private Sub Form_Click()Dim a As Longa = Val(InputBox(""))MsgBox a \ 86400 & "天" & (a Mod 86400) \ 3600 & "小时" & ((a Mod 86400) Mod 3600) \ 60 & "分钟" & (((a Mod 86400) Mod 3600) Mod 60) & "秒"End Sub
回复

使用道具 举报

千问 | 2008-5-20 19:39:15 | 显示全部楼层
Public Shared Function Test(ByVal Sec As Integer) As String
Dim OneMinute As Integer = 60
'每分钟60秒
Dim OneHour As Integer = 3600
'每小时3600秒
Dim OneDay As Integer = 86400
'每天86400秒
Dim iTemp As Integer
'临时用
Dim iLast As Integer
'剩余秒
Dim iReturn As String
'返回值
'计算天
If Sec >= OneDay Then
iTemp = CInt(Sec / OneDay)
If OneDay * iTemp > Sec Then iTemp -= 1
iLast = CInt(Sec - OneDay * iTemp)
iReturn = iTemp.ToString & " 天 "
Else
iReturn = "0 天 "
End If
'计算小时
If iLast >= OneHour Then
iTemp = CInt(iLast / OneHour)
If OneHour * iTemp > iLast Then iTemp -= 1
iLast = CInt(iLast - OneHour * iTemp)
iReturn &= iTemp.ToString & " 小时 "
Else
iReturn &= " 0 小时 "
End If
'计算分
If iLast >= OneMinute Then
iTemp = CInt(iLast / OneMinute)
If OneMinute * iTemp > iLast Then iTemp -= 1
iLast = CInt(iLast - OneMinute * iTemp)
iReturn &= iTemp.ToString & " 分 "
Else
iReturn &= " 0 分"
End If
iReturn &= iLast.ToString & " 秒"
Return iReturn
End Function
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行