Howdy, Bo:

> Before anyone else  pipes in, I just realized  I used a few
> extra characters.  If I'm gonna  try to do this succinctly,
> I might as well go all out, eh? ;-)
> 
>  time-ampm:    func[dt][join dt // 12:0[pick"AP"dt < 12:0"M"]]
> 
> I don't recommend doing this for readability's sake, but it
> does show the smartness of the  language parser.  And I did
> challenge someone to make it shorter...
> 
> -Bo


 Sweet and short, but it gives unusual results around noon and
 midnight: 

>> time-ampm 12:00
== "0:00PM"
>> time-ampm 24:00
== "0:00PM"
>> time-ampm :59
== "0:59AM"
>> time-ampm 12:59
== "0:59PM

 It would be nice to be able to distinguish 12:00 AM from
 12:00 PM and to have the typical digital clock format which
 includes the hour 12-- so, a bit longer but well behaved
 around lunch and the witching hour:

time-ampm: func [dt [time!] /dd/merid][
    merid: pick [PM AM] found? all [24:0 > dt dt >= 12:0 ]
    reduce [(dd: dt // 12:0) + pick [12:0 0] 1:0 > dd merid]
]

>> time-ampm 12:0
== [12:00 PM]
>> time-ampm 24:0
== [12:00 AM]
>> time-ampm 12:59
== [12:59 PM]
>> time-ampm :59
== [12:59 AM]


      -jeff
-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to