Sujet : Re: Parsing timestamps?
De : albert (at) *nospam* spenarnc.xs4all.nl
Groupes : comp.lang.forthDate : 07. Oct 2024, 12:00:10
Autres entêtes
Organisation : KPN B.V.
Message-ID : <nnd$4c9fbd3d$321d37fb@0e0bb7c1bfc1d5fc>
References : 1
User-Agent : trn 4.0-test77 (Sep 1, 2010)
In article <
1f433fabcb4d053d16cbc098dedc6c370608ac01@i2pn2.org>,
dxf <
dxforth@gmail.com> wrote:
Is there an easier way of doing this? End goal is a double number
representing centi-secs.
>
>
empty decimal
>
: SPLIT ( a u c -- a2 u2 a3 u3 ) >r 2dup r> scan 2swap 2 pick - ;
: >INT ( adr len -- u ) 0 0 2swap >number 2drop drop ;
>
: /T ( a u -- $hour $min $sec )
2 0 do [char] : split 2swap dup if 1 /string then loop
2 0 do dup 0= if 2rot 2rot then loop ;
>
: .T 2swap 2rot cr >int . ." hr " >int . ." min " >int . ." sec " ;
>
s" 1:2:3" /t .t
s" 02:03" /t .t
s" 03" /t .t
s" 23:59:59" /t .t
s" 0:00:03" /t .t
After ca. 50 years I have completed the $@ $! $+! $C+ $/ with
$\ . Now I can do this
"12:03:43" &: $\ TYPE &: $\ TYPE &: $\ TYPE
43 03 12 OK
"12:03:43" &: $/ TYPE &: $/ TYPE &: $/ TYPE
12 03 43 OK
Insert
"hr" TYPE
as required.
I can't believe the long posts this sparks.
Groetjes Albert
-- Temu exploits Christians: (Disclaimer, only 10 apostles)Last Supper Acrylic Suncatcher - 15Cm Round Stained Glass- Style WallArt For Home, Office And Garden Decor - Perfect For Windows, Bars,And Gifts For Friends Family And Colleagues.