mirror of
https://github.com/Llewellynvdm/exa.git
synced 2024-11-22 20:15:11 +00:00
Merge pull request #509 from emgelb/master
Convert default formatting so single-digit hour times are 0-padded
This commit is contained in:
commit
e198cac3a7
@ -122,17 +122,37 @@ impl DefaultFormat {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
impl DefaultFormat {
|
||||
fn is_recent(&self, date: LocalDateTime) -> bool {
|
||||
date.year() == self.current_year
|
||||
}
|
||||
|
||||
fn month_to_abbrev(month: datetime::Month) -> &'static str {
|
||||
match month {
|
||||
datetime::Month::January => "Jan",
|
||||
datetime::Month::February => "Feb",
|
||||
datetime::Month::March => "Mar",
|
||||
datetime::Month::April => "Apr",
|
||||
datetime::Month::May => "May",
|
||||
datetime::Month::June => "Jun",
|
||||
datetime::Month::July => "Jul",
|
||||
datetime::Month::August => "August",
|
||||
datetime::Month::September => "Sep",
|
||||
datetime::Month::October => "Oct",
|
||||
datetime::Month::November => "Nov",
|
||||
datetime::Month::December => "Dec",
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(trivial_numeric_casts)]
|
||||
fn format_local(&self, time: Duration) -> String {
|
||||
let date = LocalDateTime::at(time.as_secs() as i64);
|
||||
|
||||
if self.is_recent(date) {
|
||||
self.date_and_time.format(&date, &self.locale)
|
||||
format!("{:2} {} {:02}:{:02}",
|
||||
date.day(), DefaultFormat::month_to_abbrev(date.month()),
|
||||
date.hour(), date.minute())
|
||||
}
|
||||
else {
|
||||
self.date_and_year.format(&date, &self.locale)
|
||||
@ -144,7 +164,9 @@ impl DefaultFormat {
|
||||
let date = zone.to_zoned(LocalDateTime::at(time.as_secs() as i64));
|
||||
|
||||
if self.is_recent(date) {
|
||||
self.date_and_time.format(&date, &self.locale)
|
||||
format!("{:2} {} {:02}:{:02}",
|
||||
date.day(), DefaultFormat::month_to_abbrev(date.month()),
|
||||
date.hour(), date.minute())
|
||||
}
|
||||
else {
|
||||
self.date_and_year.format(&date, &self.locale)
|
||||
@ -153,6 +175,7 @@ impl DefaultFormat {
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[allow(trivial_numeric_casts)]
|
||||
fn long_local(time: Duration) -> String {
|
||||
let date = LocalDateTime::at(time.as_secs() as i64);
|
||||
|
Loading…
Reference in New Issue
Block a user