laomeng 发表于 2013-9-2 16:54:57

[已解决]如何将 秒 转换为 :时 分 秒 ? 帮帮忙!

本帖最后由 laomeng 于 2013-9-3 09:32 编辑

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $time = 70
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("提示", 350, 172, 193, 125)
$Label1 = GUICtrlCreateLabel("", 56, 52, 235, 48)
GUICtrlSetColor(-1,0x1B9327)
GUICtrlSetFont(-1, 18, 400, 0, "楷体_GB2312")
$Button1 = GUICtrlCreateButton("确定(&Y)", 53, 128, 73, 25, 0)
$Button2 = GUICtrlCreateButton("退出(&X)", 210, 128, 73, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
AdlibRegister ("_timer", 1000)
While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE, $Button2
                        Exit
                Case $Button1
                        ExitLoop
      EndSwitch
      If $time <= 0 Then ExitLoop
WEnd

Exit

Func _timer()
      $time -= 1
                If $time < 60 Then GUICtrlSetColor($Label1,0xDD2113)
      GUICtrlSetData($Label1,"距离下次宝藏开启还剩" & $time & "秒")
      If $time <= 0 Then AdlibUnRegister()
EndFunc   ;==>_timer
例如166秒如何 将 秒 显示为 X小时 X分 X 秒

user3000 发表于 2013-9-2 18:44:55

回复 1# laomeng Local $iSec = 3666
MsgBox(0, '', _convert_sec($iSec))
Func _convert_sec($iSec)
        Local $iHour, $iMin
        $iHour = Int($iSec/3600)
        $iMin = Int(($iSec-$iHour*3600)/60)
        $iSec = $iSec - $iHour*3600 - $iMin*60
        Switch $iHour
                Case 0
                        If $iMin <> 0 Then Return $iMin & '分' & $iSec & '秒'
                        Return $iSec & '秒'
                Case Else
                        Return $iHour & '小时' & $iMin & '分' & $iSec & '秒'
        EndSwitch
EndFunc

xlj310 发表于 2013-9-2 23:24:06

回复 2# user3000


   其中秒数 $iSec = mod($iSec,60)

user3000 发表于 2013-9-2 23:39:59

本帖最后由 user3000 于 2013-9-2 23:55 编辑

回复 3# xlj310

再三思考了下,这样确实简洁了代码及运算过程!
我竟然没想到这原理: 原数除以60秒(1分钟),余数即是要转化的'秒'.

laomeng 发表于 2013-9-3 09:30:39

回复 4# user3000


    非常感谢 !

laomeng 发表于 2013-9-3 09:31:03

谢谢两位的回答! 已解决了
页: [1]
查看完整版本: [已解决]如何将 秒 转换为 :时 分 秒 ? 帮帮忙!