From bbf5027b592fda1a07056190b13f58a3f9ab0a1d Mon Sep 17 00:00:00 2001 From: Charlie Saunders Date: Thu, 22 Feb 2018 08:34:27 -0800 Subject: [PATCH] Switches from UTC times to local times to prevent issues with using the --today option in timezones other than GMT. --- src/calculate.rs | 12 ++++++------ src/inputs/mod.rs | 16 ++++++++-------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/calculate.rs b/src/calculate.rs index 05be540..11ead4f 100644 --- a/src/calculate.rs +++ b/src/calculate.rs @@ -1,15 +1,15 @@ use inputs::Inputs; -use chrono::{Date, Duration, Utc}; +use chrono::{Date, Duration, Local}; use DateFormat; struct Range { - start: Date, - end: Date, - current: Date, + start: Date, + end: Date, + current: Date, } impl Range { - fn new(start: Date, end: Date) -> Range { + fn new(start: Date, end: Date) -> Range { Range { start, end, @@ -23,7 +23,7 @@ impl Range { } impl Iterator for Range { - type Item = Date; + type Item = Date; fn next(&mut self) -> Option { let start = self.start; let end = self.end; diff --git a/src/inputs/mod.rs b/src/inputs/mod.rs index daac6e7..9c64b58 100644 --- a/src/inputs/mod.rs +++ b/src/inputs/mod.rs @@ -5,12 +5,12 @@ extern crate regex; mod date_string_parser; use clap::ArgMatches; -use chrono::{Date, TimeZone, Utc}; +use chrono::{Date, TimeZone, Local}; use DateFormat; pub struct Inputs { - pub start: Option>, - pub end: Option>, + pub start: Option>, + pub end: Option>, pub offset: Option, pub format_type: DateFormat, pub list_output: bool, @@ -21,19 +21,19 @@ impl Inputs { pub fn new(args: ArgMatches) -> Result { let mut input_format_type = DateFormat::Dashes; - let mut start: Option> = match args.value_of("start") { + let mut start: Option> = match args.value_of("start") { Some(value) => { let parsed_value = date_string_parser::ParsedDateString::new(value)?; input_format_type = parsed_value.format_type; - Some(Utc.ymd(parsed_value.year, parsed_value.month, parsed_value.day)) + Some(Local.ymd(parsed_value.year, parsed_value.month, parsed_value.day)) } None => None, }; - let mut end: Option> = match args.value_of("end") { + let mut end: Option> = match args.value_of("end") { Some(value) => { let parsed_value = date_string_parser::ParsedDateString::new(value)?; - Some(Utc.ymd(parsed_value.year, parsed_value.month, parsed_value.day)) + Some(Local.ymd(parsed_value.year, parsed_value.month, parsed_value.day)) } None => None, }; @@ -52,7 +52,7 @@ impl Inputs { }; let today = if args.is_present("today") { - Some(Utc::today()) + Some(Local::today()) } else { None };