Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Converting seconds to HH:MM:SS
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Vista
Network:
Windows 2008 Server
Database:
MS SQL Server
Divers
Thread ID:
01358171
Message ID:
01358199
Vues:
13
You don't need ugly if you follow the link from my answer.

>This is ugly but it works:
>
>
>FUNCTION stohms
>	PARAMETERS t_str
>	PRIVATE t_str, hrs, mins, secs, isdec, rvalue
>	LOCAL isNeg
>
>	IF m.t_Str < 0
>		m.t_Str=t_str*-1
>		m.isNeg=.t.
>	ELSE
>		m.isNeg=.f.
>	ENDIF 
>	IF m.t_str - INT(m.t_str) # 0     &&  if decimal places
>		isdec = .T.
>	ELSE
>		isdec = .F.
>	ENDIF
>	hrs = INT(m.t_str/3600)         &&  get the number of hours
>	t_str = m.t_str - (m.hrs * 3600)  &&  subtract hours from t_str
>	mins = INT(m.t_str/60)          &&  get the number of minutes
>	t_str = m.t_str - m.mins * 60     &&  subtract minutes from str.
>	IF .NOT. m.isdec                &&  if no decimal places
>		IF m.t_str >= 10
>			m.secs = LTRIM(STR(m.t_str))
>		ELSE
>			m.secs = '0' + LTRIM(STR(m.t_str))    &&  pad out string
>		ENDIF
>	ELSE                          &&  if decimal places
>		IF m.t_str >= 10
>			m.secs = STR(m.t_str,5,2)
>		ELSE
>			m.secs = '0' + STR(m.t_str,4,2)    &&  pad out string
>		ENDIF
>	ENDIF
>	hrs = LTRIM(STR(m.hrs))         &&  convert to string
>	mins = LTRIM(STR(m.mins))
>	***  stuff string into '00'
>	hrs = STUFF('00',3-LEN(m.hrs),LEN(m.hrs),m.hrs)
>	mins = STUFF('00',3-LEN(m.mins),LEN(m.mins),m.mins)
>	***  assemble rvalue
>	if m.secs="60"	
>		mins=alltr(str(val(m.mins)+1))
>		secs="00"
>	endif
>	if m.mins="60"
>		hrs=alltr(str(val(m.hrs)+1))
>		mins="00"
>	ENDIF
>	IF LEN(m.mins)<2
>		mins=[0]+m.mins
>	ENDIF 				
>	rvalue = m.hrs + ':' + m.mins + ':' + m.secs
>	IF m.isNeg
>		rValue=rValue+[-]
>	ENDIF 
>	
>	RETURN(rvalue)
>*: EOF: STOHMS.PRG
>
>
If it's not broken, fix it until it is.


My Blog
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform