Re: Parsing timestamps?

Liste des GroupesRevenir à cl forth 
Sujet : Re: Parsing timestamps?
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.forth
Date : 11. Jun 2025, 10:25:50
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <102bi2q$1t4tk$1@dont-email.me>
References : 1 2 3 4
User-Agent : XanaNews/1.18.1.6
B. Pym wrote:

B. Pym wrote:
 
mhx wrote:
 
On Sun, 6 Oct 2024 7:51:31 +0000, dxf 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
 
Why don't you use the fact that >NUMBER returns the given
string starting with the first unconverted character?
SPLIT should be redundant.
 
-marcel
 
: CHAR-NUMERIC?   48 58 WITHIN ;
: SKIP-NON-NUMERIC ( adr u -- adr2 u2)
  BEGIN
    DUP IF  OVER C@ CHAR-NUMERIC? NOT  ELSE  0 THEN
  WHILE
    1 /STRING
  REPEAT ;
 
: SCAN-NEXT-NUMBER ( n adr len -- n2 adr2 len2)
  2>R  60 *  0.  2R> >NUMBER 
  2>R  D>S +  2R> ;
 
: PARSE-TIME  ( adr len -- seconds)
  0 -ROT
  BEGIN
    SKIP-NON-NUMERIC
    DUP
  WHILE
    SCAN-NEXT-NUMBER
  REPEAT
  2DROP ;
 
S" hello 1::36 world" PARSE-TIME CR .
96  ok
 
 
: SCAN-NUMBER-OR-SKIP ( n adr len -- n' adr' len')
  DUP >R
  0 0 2SWAP >NUMBER
  DUP R> =
  IF  2SWAP 2DROP  1 /STRING
  ELSE
    2>R D>S SWAP 60 * + 2R>
  THEN ;
 
: PARSE-TIME  ( adr len -- seconds)
  0 -ROT
  BEGIN
    DUP
  WHILE
    SCAN-NUMBER-OR-SKIP
  REPEAT
  2DROP ;
 
S" hi 5 or 1 is 44 ho " PARSE-TIME CR .
18104
 

Using local variables.

: SCAN-NUMBER-OR-SKIP { n adr len -- n' adr' len' }
  0. adr len >NUMBER  { adr' len' } D>S { m }
  len' len =
  IF  n adr len  1 /STRING
  ELSE
    n 60 * m + adr' len'
  THEN ;
 

Date Sujet#  Auteur
6 Oct 24 * Parsing timestamps?282dxf
6 Oct 24 +* Re: Parsing timestamps?245mhx
6 Oct 24 i+* Re: Parsing timestamps?3dxf
6 Oct 24 ii`* Re: Parsing timestamps?2dxf
7 Oct 24 ii `- Re: Parsing timestamps?1dxf
7 Jun 25 i`* Re: Parsing timestamps?241B. Pym
7 Jun 25 i +* Re: Parsing timestamps?225dxf
7 Jun 25 i i`* Re: Parsing timestamps?224LIT
8 Jun 25 i i `* Re: Parsing timestamps?223dxf
9 Jun 25 i i  `* Re: Parsing timestamps?222Hans Bezemer
9 Jun 25 i i   `* Re: Parsing timestamps?221LIT
9 Jun 25 i i    `* Re: Parsing timestamps?220Hans Bezemer
9 Jun 25 i i     `* Re: Parsing timestamps?219LIT
10 Jun 25 i i      +* Re: Parsing timestamps?207dxf
10 Jun 25 i i      i+* Re: Parsing timestamps?2mhx
10 Jun 25 i i      ii`- Re: Parsing timestamps?1dxf
10 Jun 25 i i      i+- Re: Parsing timestamps?1LIT
19 Jun 25 i i      i`* Re: Parsing timestamps?203LIT
20 Jun 25 i i      i `* Re: Parsing timestamps?202dxf
20 Jun 25 i i      i  +* Re: Parsing timestamps?7minforth
20 Jun 25 i i      i  i+* Re: Parsing timestamps?2mhx
20 Jun 25 i i      i  ii`- Re: Parsing timestamps?1albert
20 Jun 25 i i      i  i`* Re: Parsing timestamps?4dxf
20 Jun 25 i i      i  i +- Re: Parsing timestamps?1mhx
20 Jun 25 i i      i  i `* Re: Parsing timestamps?2minforth
21 Jun 25 i i      i  i  `- Re: Parsing timestamps?1dxf
20 Jun 25 i i      i  `* Re: Parsing timestamps?194LIT
21 Jun 25 i i      i   +- Re: Parsing timestamps?1dxf
22 Jun 25 i i      i   +* Re: Parsing timestamps?187minforth
23 Jun 25 i i      i   i+- Re: Parsing timestamps?1dxf
23 Jun 25 i i      i   i+* Re: Parsing timestamps?181Anton Ertl
23 Jun 25 i i      i   ii`* Re: Parsing timestamps?180minforth
24 Jun 25 i i      i   ii +* Re: Parsing timestamps?162minforth
24 Jun 25 i i      i   ii i`* Re: Parsing timestamps?161dxf
24 Jun 25 i i      i   ii i +* Re: Parsing timestamps?13minforth
24 Jun 25 i i      i   ii i i+* Re: Parsing timestamps?2Anton Ertl
1 Jul 25 i i      i   ii i ii`- Re: Parsing timestamps?1Stephen Pelc
26 Jun 25 i i      i   ii i i+* Re: The future. (was Re: Parsing timestamps?)2Paul Rubin
30 Jun 25 i i      i   ii i ii`- Re: The future. (was Re: Parsing timestamps?)1albert
15 Jul 25 i i      i   ii i i`* Re: The future. (was Re: Parsing timestamps?)8LIT
16 Jul 25 i i      i   ii i i `* Re: The future. (was Re: Parsing timestamps?)7minforth
16 Jul 25 i i      i   ii i i  +* Re: The future. (was Re: Parsing timestamps?)5dxf
16 Jul 25 i i      i   ii i i  i+- Re: The future. (was Re: Parsing timestamps?)1minforth
16 Jul 25 i i      i   ii i i  i`* Re: The future. (was Re: Parsing timestamps?)3LIT
17 Jul 25 i i      i   ii i i  i `* Re: The future. (was Re: Parsing timestamps?)2dxf
17 Jul 25 i i      i   ii i i  i  `- Re: The future. (was Re: Parsing timestamps?)1LIT
16 Jul 25 i i      i   ii i i  `- Re: The future. (was Re: Parsing timestamps?)1LIT
25 Jun 25 i i      i   ii i +* Re: Parsing timestamps?12dxf
25 Jun 25 i i      i   ii i i`* Re: Parsing timestamps?11Paul Rubin
26 Jun 25 i i      i   ii i i +- Re: Parsing timestamps?1Paul Rubin
26 Jun 25 i i      i   ii i i `* Re: Parsing timestamps?9dxf
26 Jun 25 i i      i   ii i i  `* Re: Parsing timestamps?8Paul Rubin
27 Jun 25 i i      i   ii i i   `* Re: Parsing timestamps?7dxf
27 Jun 25 i i      i   ii i i    +- Re: Parsing timestamps?1Paul Rubin
2 Jul 25 i i      i   ii i i    `* Re: Parsing timestamps?5dxf
2 Jul 25 i i      i   ii i i     +* Re: Parsing timestamps?2Stephen Pelc
4 Jul 25 i i      i   ii i i     i`- Re: Parsing timestamps?1dxf
6 Jul 25 i i      i   ii i i     `* Re: Parsing timestamps?2LIT
6 Jul 25 i i      i   ii i i      `- Re: Parsing timestamps?1dxf
25 Jun 25 i i      i   ii i +* Re: Parsing timestamps?2Paul Rubin
30 Jun 25 i i      i   ii i i`- Re: Parsing timestamps?1Hans Bezemer
26 Jun 25 i i      i   ii i `* Re: Parsing timestamps?133Waldek Hebisch
26 Jun 25 i i      i   ii i  `* Re: Parsing timestamps?132minforth
26 Jun 25 i i      i   ii i   +* Re: Parsing timestamps?2LIT
27 Jun 25 i i      i   ii i   i`- Re: Parsing timestamps?1minforth
29 Jun 25 i i      i   ii i   `* Re: Parsing timestamps?129Anton Ertl
29 Jun 25 i i      i   ii i    `* Re: Parsing timestamps?128LIT
29 Jun 25 i i      i   ii i     +* Re: Parsing timestamps?123LIT
30 Jun 25 i i      i   ii i     i`* Re: Parsing timestamps?122dxf
30 Jun 25 i i      i   ii i     i `* Re: Parsing timestamps?121LIT
30 Jun 25 i i      i   ii i     i  +* Re: Parsing timestamps?116dxf
30 Jun 25 i i      i   ii i     i  i`* Re: Parsing timestamps?115LIT
30 Jun 25 i i      i   ii i     i  i `* Re: Parsing timestamps?114dxf
30 Jun 25 i i      i   ii i     i  i  +* Re: Parsing timestamps?2LIT
1 Jul 25 i i      i   ii i     i  i  i`- Re: Parsing timestamps?1dxf
30 Jun 25 i i      i   ii i     i  i  `* Re: Parsing timestamps?111Paul Rubin
30 Jun 25 i i      i   ii i     i  i   +* Re: Parsing timestamps?3LIT
2 Jul 25 i i      i   ii i     i  i   i+- Re: Parsing timestamps?1LIT
2 Jul 25 i i      i   ii i     i  i   i`- Re: Parsing timestamps?1Paul Rubin
1 Jul 25 i i      i   ii i     i  i   `* Re: Parsing timestamps?107Paul Rubin
1 Jul 25 i i      i   ii i     i  i    +* Re: Parsing timestamps?18minforth
1 Jul 25 i i      i   ii i     i  i    i`* Re: Parsing timestamps?17Paul Rubin
2 Jul 25 i i      i   ii i     i  i    i +* Re: Parsing timestamps?4minforth
2 Jul 25 i i      i   ii i     i  i    i i+- Re: Parsing timestamps?1minforth
2 Jul 25 i i      i   ii i     i  i    i i+- Re: Parsing timestamps?1dxf
2 Jul 25 i i      i   ii i     i  i    i i`- Re: Parsing timestamps?1Anton Ertl
2 Jul 25 i i      i   ii i     i  i    i `* Re: Parsing timestamps?12Anton Ertl
3 Jul 25 i i      i   ii i     i  i    i  +* Re: Parsing timestamps?8Paul Rubin
3 Jul 25 i i      i   ii i     i  i    i  i+* Re: Parsing timestamps?2minforth
3 Jul 25 i i      i   ii i     i  i    i  ii`- Re: Parsing timestamps?1albert
3 Jul 25 i i      i   ii i     i  i    i  i+* Re: Parsing timestamps?3Hans Bezemer
3 Jul 25 i i      i   ii i     i  i    i  ii`* Re: Parsing timestamps?2albert
5 Jul 25 i i      i   ii i     i  i    i  ii `- Re: Parsing timestamps?1dxf
3 Jul 25 i i      i   ii i     i  i    i  i+- Re: Parsing timestamps?1albert
4 Jul 25 i i      i   ii i     i  i    i  i`- Re: Parsing timestamps?1dxf
3 Jul 25 i i      i   ii i     i  i    i  +* Re: Parsing timestamps?2Anton Ertl
3 Jul 25 i i      i   ii i     i  i    i  i`- Re: Parsing timestamps?1Hans Bezemer
3 Jul 25 i i      i   ii i     i  i    i  `- Re: Parsing timestamps?1dxf
1 Jul 25 i i      i   ii i     i  i    +* Re: Parsing timestamps?5peter
2 Jul 25 i i      i   ii i     i  i    i+* Re: Parsing timestamps?2minforth
2 Jul 25 i i      i   ii i     i  i    ii`- Re: Parsing timestamps?1Anton Ertl
2 Jul 25 i i      i   ii i     i  i    i`* Re: Parsing timestamps?2Paul Rubin
2 Jul 25 i i      i   ii i     i  i    `* Re: Parsing timestamps?83Anton Ertl
30 Jun 25 i i      i   ii i     i  `* Re: Parsing timestamps?4Paul Rubin
29 Jun 25 i i      i   ii i     +* Re: Parsing timestamps?3Paul Rubin
30 Jun 25 i i      i   ii i     `- Re: Parsing timestamps?1sean
24 Jun 25 i i      i   ii +- Re: Parsing timestamps?1Anton Ertl
2 Jul 25 i i      i   ii `* Nested definitions (was: Parsing timestamps?)16Ruvim
23 Jun 25 i i      i   i`* Re: Parsing timestamps?4mhx
23 Jun 25 i i      i   `* Re: Parsing timestamps?5LIT
10 Jun 25 i i      +* Re: Parsing timestamps?2LIT
10 Jun 25 i i      +* Re: Parsing timestamps?2LIT
10 Jun 25 i i      +* Re: Parsing timestamps?2Stephen Pelc
10 Jun 25 i i      +* Re: Parsing timestamps?4LIT
10 Jun 25 i i      `- Re: Parsing timestamps?1Hans Bezemer
9 Jun 25 i +- Re: Parsing timestamps?1B. Pym
10 Jun 25 i `* Re: Parsing timestamps?14B. Pym
6 Oct 24 +* Re: Parsing timestamps?5Ruvim
6 Oct 24 +* Re: Parsing timestamps?6FFmike
6 Oct 24 +* Re: Parsing timestamps?2Anthony Howe
7 Oct 24 +* Re: Parsing timestamps?9albert
8 Oct 24 +* Re: Parsing timestamps?3albert
9 Oct 24 +* Re: Parsing timestamps?4alaa
18 Oct 24 `* Re: Parsing timestamps?7Gerry Jackson

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal