Human-readable relative time formatting: 5 minutes ago, in 3 days, yesterday
implementation com.philiprehberger:time-agoHuman-readable relative time formatting: 5 minutes ago, in 3 days, yesterday.
implementation("com.philiprehberger:time-ago:0.1.4")
<dependency>
<groupId>com.philiprehberger</groupId>
<artifactId>time-ago</artifactId>
<version>0.1.4</version>
</dependency>
import com.philiprehberger.timeago.*
import java.time.Instant
timeAgo(Instant.now().minusSeconds(30)) // "30 seconds ago"
timeAgo(Instant.now().minusSeconds(7200)) // "2 hours ago"
timeAgo(Instant.now().minusSeconds(86400)) // "yesterday ago"
timeAgo(Instant.now().plusSeconds(300)) // "in 5 minutes"
// Compact style
timeAgo(Instant.now().minusSeconds(300)) { style = Style.COMPACT } // "5m ago"
// Extension function
Instant.now().minusSeconds(600).timeAgo() // "10 minutes ago"
| Function / Class | Description |
|---|---|
timeAgo(instant, relativeTo, config) | Format relative time string |
Instant.timeAgo(relativeTo, config) | Extension function variant |
Style.FULL | Full output: "2 minutes ago" |
Style.COMPACT | Compact output: "2m ago" |
TimeAgoConfig.nowThreshold | Duration threshold for "just now" |
TimeAgoConfig.maxUnit | Cap the largest time unit displayed |
./gradlew test # Run tests
./gradlew build # Build JAR
If you find this project useful: