Skip to content

Commit 20ac904

Browse files
committed
Add code to extract a time from UUIDv7
1 parent f9b6f7c commit 20ac904

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

content/rust/time.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
+++
22
title="Time"
33
date=2023-08-15
4-
updated = 2026-05-15
4+
updated = 2026-07-17
55
extra = { series = "Rust" }
66
taxonomies = { tags = ["Rust"] }
77
+++
@@ -303,4 +303,25 @@ today: 2026-05-15
303303
Dominica Time: 2026-05-15T14:12:06.779365104-04:00[America/Dominica]
304304
```
305305

306+
# Extracting timestamps from UUIDv7
307+
308+
```rust
309+
fn main() -> Result<(), jiff::Error> {
310+
let uuid_v7 = uuid::Uuid::now_v7();
311+
println!("Generated UUIDv7: {uuid_v7}");
312+
313+
if let Some(uuid_ts) = uuid_v7.get_timestamp() {
314+
let (seconds, nanos) = uuid_ts.to_unix();
315+
let jiff_ts = jiff::Timestamp::new(seconds as i64, nanos as i32)?;
316+
let dt: jiff::Zoned = jiff_ts.to_zoned(jiff::tz::TimeZone::system());
317+
318+
println!("{dt}");
319+
// Output: 2025-01-20T10:14:30.123456789-05:00[America/New_York] (for example)
320+
} else {
321+
println!("This UUID does not contain a timestamp.");
322+
}
323+
Ok(())
324+
}
325+
```
326+
306327
[custom]: https://docs.rs/jiff/latest/jiff/fmt/strtime/trait.Custom.html

0 commit comments

Comments
 (0)