From b4519697dd90b952b2371180e23842762b66dd40 Mon Sep 17 00:00:00 2001 From: Caleb Stanford Date: Tue, 19 Jul 2022 19:05:35 -0400 Subject: [PATCH] rm dependence on chrono, replace with time 0.3.11 (https://github.com/chronotope/chrono/issues/499) --- Cargo.lock | 55 ++++++++++------------------------------------------- Cargo.toml | 2 +- src/util.rs | 12 ++++++++++-- 3 files changed, 21 insertions(+), 48 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e871ab9..f1216ef 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -22,12 +22,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - [[package]] name = "bitflags" version = "1.3.2" @@ -40,19 +34,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "chrono" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" -dependencies = [ - "libc", - "num-integer", - "num-traits", - "time", - "winapi", -] - [[package]] name = "clap" version = "2.34.0" @@ -82,7 +63,7 @@ checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -122,22 +103,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" [[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" +name = "num_threads" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" dependencies = [ - "autocfg", + "libc", ] [[package]] @@ -259,12 +230,12 @@ dependencies = [ name = "state_graph" version = "0.1.0" dependencies = [ - "chrono", "disjoint-sets", "rand", "serde", "serde_json", "structopt", + "time", ] [[package]] @@ -319,13 +290,13 @@ dependencies = [ [[package]] name = "time" -version = "0.1.44" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217" dependencies = [ + "itoa", "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", + "num_threads", ] [[package]] @@ -358,12 +329,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" diff --git a/Cargo.toml b/Cargo.toml index 1b369cc..d6014e4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,12 +7,12 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -chrono = "0.4.15" disjoint-sets = "0.4.2" rand = "0.8.5" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" structopt = "0.3.21" +time = { version = "0.3.11", features = ["formatting"] } [lib] doctest = false diff --git a/src/util.rs b/src/util.rs index 3c558f4..1a47071 100644 --- a/src/util.rs +++ b/src/util.rs @@ -4,7 +4,6 @@ (File I/O, JSON serialization, system time, etc.) */ -use chrono::offset::Local; use serde::de::DeserializeOwned; use serde::ser::Serialize; use std::fmt::Debug; @@ -12,6 +11,7 @@ use std::fs::{self, File}; use std::io::{self, BufReader, BufWriter, Write}; use std::path::{Path, PathBuf}; use std::time::{Duration, SystemTime}; +use time::{format_description, OffsetDateTime}; /* File I/O @@ -134,8 +134,16 @@ pub fn time_since(t: &SystemTime) -> Duration { } // Current datetime for use in file names +// Note: removed dependence on chrono on 2022-07-19; as a result, +// now this uses time::OffsetDateTime, which is UTC rather than local time. pub fn current_datetime_str() -> String { - Local::now().format("%Y-%m-%d-%H%M%S").to_string() + let dt: OffsetDateTime = SystemTime::now().into(); + let dt_fmt = format_description::parse( + "[year]-[month]-[day]-[hour][minute][second]" + ).unwrap(); + dt.format(&dt_fmt).unwrap() + // Old implementation using Chrono + // Local::now().format("%Y-%m-%d-%H%M%S").to_string() } #[test]