diff --git a/__tests__/lib/string.test.ts b/__tests__/lib/string.test.ts
index 75d7b8421..936708cf2 100644
--- a/__tests__/lib/string.test.ts
+++ b/__tests__/lib/string.test.ts
@@ -176,20 +176,16 @@ describe('ago', () => {
new Date().setMinutes(new Date().getMinutes() - 10),
new Date().setHours(new Date().getHours() - 1),
new Date().setDate(new Date().getDate() - 1),
- new Date().setDate(new Date().getDate() - 6),
- new Date().setDate(new Date().getDate() - 7),
new Date().setMonth(new Date().getMonth() - 1),
]
const outputs = [
- new Date(1671461038).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
- new Date('04 Dec 1995 00:12:00 GMT').toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
+ new Date(1671461038).toLocaleDateString(),
+ new Date('04 Dec 1995 00:12:00 GMT').toLocaleDateString(),
'0s',
'10m',
'1h',
'1d',
- '6d',
- new Date(new Date().setDate(new Date().getDate() - 7)).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
- new Date(new Date().setMonth(new Date().getMonth() - 1)).toLocaleDateString('en-us', {year: 'numeric', month: 'short', day: 'numeric'}),
+ '1mo',
]
it('correctly calculates how much time passed, in a string', () => {
diff --git a/src/lib/strings/time.ts b/src/lib/strings/time.ts
index 3f2847558..588b84459 100644
--- a/src/lib/strings/time.ts
+++ b/src/lib/strings/time.ts
@@ -1,8 +1,8 @@
const MINUTE = 60
const HOUR = MINUTE * 60
const DAY = HOUR * 24
-const WEEK = DAY * 7
-
+const MONTH = DAY * 28
+const YEAR = DAY * 365
export function ago(date: number | string | Date): string {
let ts: number
if (typeof date === 'string') {
@@ -19,14 +19,12 @@ export function ago(date: number | string | Date): string {
return `${Math.floor(diffSeconds / MINUTE)}m`
} else if (diffSeconds < DAY) {
return `${Math.floor(diffSeconds / HOUR)}h`
- } else if (diffSeconds < WEEK) {
+ } else if (diffSeconds < MONTH) {
return `${Math.floor(diffSeconds / DAY)}d`
+ } else if (diffSeconds < YEAR) {
+ return `${Math.floor(diffSeconds / MONTH)}mo`
} else {
- return new Date(ts).toLocaleDateString('en-us', {
- year: 'numeric',
- month: 'short',
- day: 'numeric',
- })
+ return new Date(ts).toLocaleDateString()
}
}
|