summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/command/client/stats.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/command/client/stats.rs b/src/command/client/stats.rs
index d730df47..5134f22f 100644
--- a/src/command/client/stats.rs
+++ b/src/command/client/stats.rs
@@ -82,6 +82,22 @@ impl Cmd {
};
let history = if words.as_str() == "all" {
db.list(FilterMode::Global, &context, None, false).await?
+ } else if words.trim() == "today" {
+ let start = Local::now().date().and_hms(0, 0, 0);
+ let end = start + Duration::days(1);
+ db.range(start.into(), end.into()).await?
+ } else if words.trim() == "month" {
+ let end = Local::now().date().and_hms(0, 0, 0);
+ let start = end - Duration::days(31);
+ db.range(start.into(), end.into()).await?
+ } else if words.trim() == "week" {
+ let end = Local::now().date().and_hms(0, 0, 0);
+ let start = end - Duration::days(7);
+ db.range(start.into(), end.into()).await?
+ } else if words.trim() == "year" {
+ let end = Local::now().date().and_hms(0, 0, 0);
+ let start = end - Duration::days(365);
+ db.range(start.into(), end.into()).await?
} else {
let start = parse_date_string(&words, Local::now(), settings.dialect.into())?;
let end = start + Duration::days(1);