Vbscript vbs脚本(vbs)函数的持续时间

Vbscript vbs脚本(vbs)函数的持续时间,vbscript,time,duration,Vbscript,Time,Duration,在vbscript中是否有将指定秒数转换为周/日/小时/分/秒时间格式的函数 例如:969234秒=1周4天5小时13分钟54秒没有内置的功能来实现这一点 Dim myDate dim noWeeks dim noDays dim tempWeeks dim pos myDate = DateAdd("s",969234,CDate(0)) tempWeeks = FormatNumber(myDate / 7,10) pos = instr(tempWeeks, ".") if pos &

在vbscript中是否有将指定秒数转换为周/日/小时/分/秒时间格式的函数


例如:969234秒=1周4天5小时13分钟54秒

没有内置的功能来实现这一点

Dim myDate
dim noWeeks
dim noDays
dim tempWeeks
dim pos 
myDate = DateAdd("s",969234,CDate(0))

tempWeeks = FormatNumber(myDate / 7,10)
pos = instr(tempWeeks, ".")
if pos > 1 then
    tempWeeks = left(myDate, pos -1)
end if
noWeeks = Cint(tempWeeks)

noDays = Cint(((myDate / 7) - noWeeks) * 7)

wscript.echo noWeeks & "wk " & noDays & "days " & datepart("h", myDate) & "hrs " & datepart("n", myDate) & "mins " & datepart("s", myDate) & "secs"
这是一个又快又脏的例子:-

Function SecondsToString(totalSeconds)

    Dim work : work = totalSeconds

    Dim seconds
    Dim minutes
    Dim hours
    Dim days
    Dim weeks

    seconds = work Mod 60
    work = work \ 60
    minutes = work Mod 60
    work = work \ 60
    hours = work Mod 24
    work = work \ 24
    days = work Mod 7
    work = work \ 7
    weeks = work

    Dim s: s = ""
    Dim renderStarted: renderStarted = False

    If (weeks <> 0) Then
        renderStarted = True
        s = s & CStr(weeks)
        If (weeks = 1) Then
            s = s & "wk "
        Else
            s = s & "wks "
        End If
    End If

    If (days <> 0 OR renderStarted) Then
        renderStarted = True
        s = s & CStr(days)
        If (days = 1) Then
            s = s & "day "
        Else
            s = s & "days "
        End If
    End If

    If (hours <> 0 OR renderStarted) Then
        renderStarted = True
        s = s & CStr(hours)
        If (hours = 1) Then
            s = s & "hr "
        Else
            s = s & "hrs "
        End If
    End If

    If (minutes <> 0 OR renderStarted) Then
        renderStarted = True
        s = s & CStr(minutes)
        If (minutes = 1) Then
            s = s & "min "
        Else
            s = s & "mins "
        End If
    End If

    s = s & CStr(seconds)
    If (seconds = 1) Then
        s = s & "sec "
    Else
        s = s & "secs "
    End If

    SecondsToString = s

End Function
函数秒数字符串(总秒数)
变暗工时:工时=总秒数
暗秒
昏暗的分钟
昏暗的时刻
暗淡的日子
暗淡的星期
秒=工作模式60
工作=工作\60
分钟=工作模式60
工作=工作\60
小时=工作模式24
工作=工作\24
天数=工作模式7
工作=工作\7
周=工作
Dim s:s=“”
Dim renderStarted:renderStarted=False
如果(第0周)那么
renderStarted=True
s=s&CStr(周)
如果(周=1),则
s=s&“wk”
其他的
s=s&“wks”
如果结束
如果结束
如果(第0天或渲染开始),则
renderStarted=True
s=s&CStr(天)
如果(天=1),则
s=s&“天”
其他的
s=s&“天”
如果结束
如果结束
如果(小时0或渲染开始),则
renderStarted=True
s=s&CStr(小时)
如果(小时=1),则
s=s&“hr”
其他的
s=s&“小时”
如果结束
如果结束
如果(分钟0或渲染开始),则
renderStarted=True
s=s&CStr(分钟)
如果(分钟=1),则
s=s&“最小”
其他的
s=s&“分钟”
如果结束
如果结束
s=s&CStr(秒)
如果(秒=1),则
s=s&“秒”
其他的
s=s&“秒”
如果结束
SecondsToString=s
端函数