mirror of
https://github.com/BurntSushi/jiff.git
synced 2025-12-23 08:47:45 +00:00
Previously, when `TZ` was set to an invalid value, Jiff would still attempt to detect the system configured time zone. But this is arguably not great, because it silently (aside from logs) rejects an invalid `TZ` value. In reality, if `TZ` is set, it is likely that the user intends for it to have an impact. So if it doesn't, we should bleat about it. This manifests as an error when using `TimeZone::try_system()` and manifests as a error sentinel in the form of `Etc/Unknown` when using `TimeZone::system()`. We also tweak some of the logging levels. Namely, in #370, I increased the number of TRACE-level log messages, which makes it much noisier. So I've promoted a few things that were TRACE to DEBUG without making the output much noisier. I guess TRACE should be reserved for variable length things. Fixes #364 |
||
|---|---|---|
| .. | ||
| Cargo.toml | ||
| main.rs | ||
| README.md | ||
This example shows how to parse the output of uptime on Unix and determine
when the system booted. This demonstrates regex parsing, fallible construction
of spans, zone aware arithmetic and rounding.
To run this program, use:
$ uptime | cargo run -qp uptime
2024-06-28T08:08:00-04:00[America/New_York]
If you don't have uptime, then you can pipe in data that looks like it came
from uptime:
$ echo '14:00:47 up 12 days, 5:53' | cargo run -qp uptime
2024-06-28T08:08:00-04:00[America/New_York]