pola-rs/polars

Extend `strptime` functionality to parse Duration strings

Aperta

#7397 aperta il 7 mar 2023

 (8 commenti) (5 reazioni) (0 assegnatari)Rust (2826 fork)batch import
acceptedenhancementhelp wanted

Metriche repository

Star
 (38.496 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Problem description

A format not as common as time stamps but still common enough to potentially warrant a parser are "duration stamps": e.g. what stop watches show.

Examples that currently cannot be parsed with strptime:

  • 80:00 meaning 80 minutes
  • -04:00 minus 4 hours
  • 104:00:00 104 hours

Maybe such a parser already exists? I'm not aware of one. It would benefit from standard solution as edge cases can be hairy (there may be at least 2 digits for hours, but if it's say 104 hours then hours can be 3 digits; minus signs; wrapping; whether to accept multi-wrapping, e.g. 23:483 etc.

In any case, if someone has a good idea, contribute to the time stamp usage guide, see PR: https://github.com/pola-rs/polars-book/pull/275

A StackOverflow question inspired this: https://stackoverflow.com/a/75664067/7483211

The accepted answer fails things like 80:00.000 (first solution) and 104:00.000 (first and second).

Guida contributor