"Rebol/Core User's Guide" (page 63) also gives the following example:

print either now/time < 12:00 ["AM"]["PM"]

This approach could be easily adapted to:

time-ampm: func [dt] [either dt < 12:00 [return join dt "AM"][return join
dt - 12:00 "PM"]]


>> time-ampm 8:00
== "8:00AM"

>> time-ampm 18:00
== "6:00PM"

Hope this is helpful.

Scott


----- Original Message -----
From: "Bob Racko" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, January 19, 2001 12:51 AM
Subject: [REBOL] how do I get ampm format for time?


>
>
> how do I format dates to am/pm format
> like: "hh:mm pm EST"
>
> is there a more succinct way to write this?
>
> time-ampm: func [ dt ]
> [ rejoin [
>
>                        ; handle  hh:mm part
> ( replace ( copy/part (
>   rejoin [
>          (either dt/time < 10:00 [ "0" ] [ "" ])  ;  hh:mm vs [h]h:mm
>           either dt/time > 12:59:59
>           [ mold dt/time - 12:00 ]
>           [ mold dt/time ]
>          ]
> ) 5 ) "00:" "12:" )   ; midnite-1am is special
>
>
>                        ; handle " pm EST" parts
> either  dt/time > 11:59:59
>   [ " pm" ]
>   [ " am" ]
>
> " EST"
> ]]
>
> yes this does the job, perhaps a mold could be factored out
> and some parens are not needed.  now the challenge
> is to write something that handles the exceptions
> with less code. this version allows coding by deletion
> since the two parts hh:mm vs am/pm indicator
> are treated separately and simply concatenated.
>
> --
> To unsubscribe from this list, please send an email to
> [EMAIL PROTECTED] with "unsubscribe" in the
> subject, without the quotes.
>

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

Reply via email to