time_ago: Human readable format of the time interval since a time point

Description Usage Arguments Value Examples

View source: R/time-ago.R

Description

It calls vague_dt to do the actual formatting.

Usage

1
time_ago(date, format = c("default", "short", "terse"))

Arguments

date

Date(s), as.POSIXct will be called on them.

format

Format, currently available formats are: ‘default’, ‘short’, ‘terse’. See examples below.

Value

Character vector of the formatted time intervals.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
now <- Sys.time()

time_ago(now)
time_ago(now - as.difftime(30, units = "secs"))
time_ago(now - as.difftime(14, units = "mins"))
time_ago(now - as.difftime(5, units = "hours"))
time_ago(now - as.difftime(25, units = "hours"))
time_ago(now - as.difftime(5, units = "days"))
time_ago(now - as.difftime(30, units = "days"))
time_ago(now - as.difftime(365, units = "days"))
time_ago(now - as.difftime(365 * 10, units = "days"))

## Short format
time_ago(format = "short", now)
time_ago(format = "short", now - as.difftime(30, units = "secs"))
time_ago(format = "short", now - as.difftime(14, units = "mins"))
time_ago(format = "short", now - as.difftime(5, units = "hours"))
time_ago(format = "short", now - as.difftime(25, units = "hours"))
time_ago(format = "short", now - as.difftime(5, units = "days"))
time_ago(format = "short", now - as.difftime(30, units = "days"))
time_ago(format = "short", now - as.difftime(365, units = "days"))
time_ago(format = "short", now - as.difftime(365 * 10, units = "days"))

## Even shorter, terse format, (almost always) exactly 3 characters wide
time_ago(format = "terse", now)
time_ago(format = "terse", now - as.difftime(30, units = "secs"))
time_ago(format = "terse", now - as.difftime(14, units = "mins"))
time_ago(format = "terse", now - as.difftime(5, units = "hours"))
time_ago(format = "terse", now - as.difftime(25, units = "hours"))
time_ago(format = "terse", now - as.difftime(5, units = "days"))
time_ago(format = "terse", now - as.difftime(30, units = "days"))
time_ago(format = "terse", now - as.difftime(365, units = "days"))
time_ago(format = "terse", now - as.difftime(365 * 10, units = "days"))

Example output

[1] "moments ago"
[1] "less than a minute ago"
[1] "14 minutes ago"
[1] "5 hours ago"
[1] "a day ago"
[1] "5 days ago"
[1] "about a month ago"
[1] "about a year ago"
[1] "10 years ago"
[1] "<1 min"
[1] "<1 min"
[1] "14 min"
[1] "5 hours"
[1] "1 day"
[1] "5 day"
[1] "1 mon"
[1] "1 year"
[1] "10 years"
[1] " 0s"
[1] "30s"
[1] "14m"
[1] " 5h"
[1] " 1d"
[1] " 5d"
[1] " 1M"
[1] " 1y"
[1] "10y"

prettyunits documentation built on Jan. 24, 2020, 9:06 a.m.