Skip to content

Commit 086cad8

Browse files
committed
SSR 側のタイムゾーン調整
1 parent b531343 commit 086cad8

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

utils/functions/index.ts

+23-7
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,33 @@
1+
const TIME_ZONE = 9
2+
13
export const formatDateTime = (dateString: string): string => {
2-
const date = new Date(dateString)
3-
// Invalid Date
4-
if (Number.isNaN(date.getTime())) {
4+
const date = getDate(dateString)
5+
if (isInvalidDate(date)) {
56
return dateString
67
}
78
return new Intl.DateTimeFormat('ja', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' }).format(date)
89
}
910

1011
export const formatDateTimeForInput = (dateString: string): string => {
11-
const date = new Date(dateString)
12-
// Invalid Date
13-
if (Number.isNaN(date.getTime())) {
12+
const date = getDate(dateString)
13+
if (isInvalidDate(date)) {
1414
return dateString
1515
}
16-
return new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000).toISOString().slice(0, 16)
16+
return toISOStringWithTimezone(date).slice(0, 16)
17+
}
18+
19+
function getDate(dateString: string) {
20+
const date = new Date(dateString)
21+
if (date.getTimezoneOffset() === 0) {
22+
date.setHours(date.getHours() + TIME_ZONE)
23+
}
24+
return date
25+
}
26+
27+
function isInvalidDate(date: Date) {
28+
return Number.isNaN(date.getTime())
29+
}
30+
31+
function toISOStringWithTimezone(date: Date) {
32+
return new Date(date.getTime() - date.getTimezoneOffset() * 60 * 1000).toISOString()
1733
}

0 commit comments

Comments
 (0)