aboutsummaryrefslogtreecommitdiff
path: root/src/StringUtils.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-08-26 01:10:40 +0200
committerdec05eba <dec05eba@protonmail.com>2021-08-26 01:10:40 +0200
commite62b707603ec00fc5192bf702b4bca0ed77501e6 (patch)
tree49e71f28a0ef42ab10872561f72b0e51d86cced6 /src/StringUtils.cpp
parent0a26a319b241978ee317bbe768eb61c4eb7a39d9 (diff)
Add ctrl+b to bookmark manga
Diffstat (limited to 'src/StringUtils.cpp')
-rw-r--r--src/StringUtils.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/StringUtils.cpp b/src/StringUtils.cpp
index 8a3a0ef..6a8d3f2 100644
--- a/src/StringUtils.cpp
+++ b/src/StringUtils.cpp
@@ -170,4 +170,28 @@ namespace QuickMedia {
return true;
}
+
+ // Returns relative time as a string (approximation)
+ std::string seconds_to_relative_time_str(time_t seconds) {
+ seconds = std::max(0L, seconds);
+
+ time_t minutes = seconds / 60;
+ time_t hours = minutes / 60;
+ time_t days = hours / 24;
+ time_t months = days / 30;
+ time_t years = days / 365;
+
+ if(years >= 1)
+ return std::to_string(years) + " year" + (years == 1 ? "" : "s") + " ago";
+ else if(months >= 1)
+ return std::to_string(months) + " month" + (months == 1 ? "" : "s") + " ago";
+ else if(days >= 1)
+ return std::to_string(days) + " day" + (days == 1 ? "" : "s") + " ago";
+ else if(hours >= 1)
+ return std::to_string(hours) + " hour" + (hours == 1 ? "" : "s") + " ago";
+ else if(minutes >= 1)
+ return std::to_string(minutes) + " minute" + (minutes == 1 ? "" : "s") + " ago";
+ else
+ return std::to_string(seconds) + " second" + (seconds == 1 ? "" : "s") + " ago";
+ }
} \ No newline at end of file