home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 116,858 of 117,927   
   sjack to dxf   
   Re: Parsing timestamps?   
   07 Oct 24 16:20:29   
   
   From: sjack@dontemail.me   
      
   dxf  wrote:   
   > The HH:MM:SS format is easy but how to deal with the variants shown above?   
   > They occur in the real world.   
      
   Toad code:   
   fload job   
   : xx.  0 <# bl hold # # #> type ;   
   : tab3.    tab rot xx. swap xx. xx. ;   
      
   -- &num  ( g -- s )   
   -- Convert g-string to numeric string address   
   : &num drop 1- ;   
   -- Note g-string is ANS string ( addr u )   
      
   -- ts_elms  ( "[hh:][mm:]ss" -- 0 0 ss | 0 mm ss | hh mm ss )   
   -- Parse timestamp elements: hh=hours mm=minutes ss=seconds   
   -- Input hh: element and hh:mm: combination elements may be left out   
   -- if zero(s).   
   : ts_elms   
     bl word here count   
     o+s do i c@ asc : = if bl i c! then loop   
     0 0 0 here count   
     begin   
       bl split dup 0> while &num number drop   
       5 roll drop -rot   
     repeat 4drop   
     ;   
      
      
      ts_elms 25   
   i.                  tab3. --> 	00 00 25   
   i. ts_elms 25       tab3. --> 	00 00 25   
   i. ts_elms 10:25    tab3. --> 	00 10 25   
   i. ts_elms 2:10:25  tab3. --> 	02 10 25   
             OK   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca