update date logic to account for timezones (#3840)

zio/stable
Samuel Newman 2024-05-03 15:55:24 +01:00 committed by GitHub
parent 051e897a2b
commit a5511e3c22
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 4 deletions

View File

@ -118,16 +118,15 @@ export function MessageItemMetadata({
} }
// if in the last day // if in the last day
if (now.toISOString().slice(0, 10) === date.toISOString().slice(0, 10)) { if (localDateString(now) === localDateString(date)) {
return time return time
} }
// if yesterday // if yesterday
const yesterday = new Date(now) const yesterday = new Date(now)
yesterday.setDate(yesterday.getDate() - 1) yesterday.setDate(yesterday.getDate() - 1)
if (
yesterday.toISOString().slice(0, 10) === date.toISOString().slice(0, 10) if (localDateString(yesterday) === localDateString(date)) {
) {
return _(msg`Yesterday, ${time}`) return _(msg`Yesterday, ${time}`)
} }
@ -164,3 +163,12 @@ export function MessageItemMetadata({
</TimeElapsed> </TimeElapsed>
) )
} }
function localDateString(date: Date) {
// can't use toISOString because it should be in local time
const mm = date.getMonth()
const dd = date.getDate()
const yyyy = date.getFullYear()
// not padding with 0s because it's not necessary, it's just used for comparison
return `${yyyy}-${mm}-${dd}`
}