Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Military Time
Message
De
01/08/2007 16:25:48
John Baird
Coatesville, Pennsylvanie, États-Unis
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Versions des environnements
Visual FoxPro:
VFP 8 SP1
Divers
Thread ID:
01245247
Message ID:
01245264
Vues:
31
>>How can I convert the following to non-military time? And yes, before the jokes start, the "13:45" is a value in an array. I can't just retype it to "1:45" instead. Thanks!
>>
>>
>>(RIGHT( "0" + ALLTRIM( "13:45" ), 5 ))
>>
>
>function ConvertToNonMilitary
>lparameters tcTime
>* No parameter checking yet
>local lnHours, lcMins
>
>lnHours = int(val(getwordnum(m.tcTime,1,':')))
>lcMins = getwordnum(m.tcTime,2,':')
>
>do case
>  case m.tcTime = '24:00'
>       lcConvert = '12:00 AM'
>
>  case m.lnHours = 12
>       lcConvert = m.tcTime + ' PM'
>
>  case between(m.lnHours, 13,23)
>   lcConvert = padl(m.lnHours - 12,2,'0') + ':' + m.lcMins + ' PM'
>
>  otherwise
>   lcConvert = padl(m.lnHours,2,'0') + ':' + m.lcMins + ' AM'
>  endcase
>return m.lcConvert
>
>
>From the top of my head, not tested yet


Have you been in the military? First of all, your function does not work with real military time. Military time is NOT expressed as 13:30.... its expressed as 1330 hours. 2400 hours is midnight only and 0001 is 1 minute after midnight. Plugging these values into your function does not return the correct value. If you want it to be capable of handling the ':', you need to do some reworking.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform