Ga naar inhoud

Tijden weergeven h:mm ipv h:mm:ss


menno

Aanbevolen berichten

Je hebt het vast wel eens meegemaakt: je hebt werktijden bijgehouden en je moet er een overzichtje van maken. Sommige tijden heb je met de hand ingegeven en sommige zijn op de een of andere manier automatisch ingevoerd. Je haalt uit de verschillende velden gegevens en je bewerkt helemaal niets en dan krijg je:

Peter	21-12-2013	15:30:00 - 19:10:00
Klaas	22-12-2013	 8:45:23 -  9:11:11
Janus	23-12-2013	 7:30:00 - 11:15:00

terwijl je wilt hebben:

Peter	21-12-2013	15:30 - 19:10
Klaas	22-12-2013	 8:45 -  9:11
Janus	23-12-2013	 7:30 - 11:15

Nu kan je als je wilt de tijden wel ophalen door in een script of aan de roosterregels een berekening toe te voegen zoals bijvoorbeeld:

Hour( tijd ) & ":" & Minute( tijd ) etc.

Maar je kan ook eerst op je gemak eenvoudig alle gegevens aan elkaar plakken (door bv alles eerst met executesql op te halen) en met de custom-functie CF_TimeFilter ( txt ; i ) het resultaat in één keer omzetten:

Let ( [ 
n = i + 1 ; 
c = WordCount ( txt ) ; 
tm = MiddleWords ( txt ; n ; 1 ) ; 
new_tm = Middle ( tm ; 1 ; Length ( tm ) - If ( PatternCount ( tm ; ":" ) = 2 and tm = Filter ( tm ; "0123456789:" ) and ( Length ( tm ) = 7 or Length ( tm ) = 8 ) ; 3 ) ) ; 
new_txt = Substitute ( txt ; [ tm ; new_tm ] ) 
] ; 
If ( n ≥ c ; new_txt ; CF_TimeFilter ( new_txt ; n ) )
)

De functie knipt rücksichtslos de seconden weg van alle tijden die hij in je tekst tegenkomt.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Antwoord op deze discussie...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...