pola-rs/polars

Extend `strptime` functionality to parse Duration strings

Open

#7,397 建立於 2023年3月7日

在 GitHub 查看
 (6 留言) (5 反應) (0 負責人)Rust (38,496 star) (2,826 fork)batch import
acceptedenhancementhelp wanted

描述

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

貢獻者指南