pola-rs/polars

Extend `strptime` functionality to parse Duration strings

Open

#7,397 opened on Mar 7, 2023

View on GitHub
 (8 comments) (5 reactions) (0 assignees)Rust (2,826 forks)batch import
acceptedenhancementhelp wanted

Repository metrics

Stars
 (38,496 stars)
PR merge metrics
 (Avg merge 8d 3h) (156 merged PRs in 30d)

Description

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).

Contributor guide