// // imag - the personal information management suite for the commandline // Copyright (C) 2015, 2016 Matthias Beyer and contributors // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; version // 2.1 of the License. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // use chrono::naive::time::NaiveTime as ChronoNaiveTime; use parse::Parse; pub struct Time { hour: u32, minute: u32, second: u32, } impl Time { pub fn new(hour: u32, minute: u32, second: u32) -> Time { Time { hour: hour, minute: minute, second: second } } pub fn hour(&self) -> u32 { self.hour } pub fn minute(&self) -> u32 { self.minute } pub fn second(&self) -> u32 { self.second } } impl Into for Time { fn into(self) -> ChronoNaiveTime { ChronoNaiveTime::from_hms(self.hour, self.minute, self.second) } } impl Parse for Time { fn parse(s: &str) -> Option