28 lines
940 B
TypeScript
28 lines
940 B
TypeScript
export function DateParse(date: string | Date, startDate: Date = new Date()) {
|
|
const diffMs = startDate.getTime() - new Date(date).getTime();
|
|
const diffSec = Math.abs(Math.floor(diffMs / 1000));
|
|
const diffMin = Math.abs(Math.floor(diffSec / 60));
|
|
const diffHour = Math.abs(Math.floor(diffMin / 60));
|
|
const diffDay = Math.abs(Math.floor(diffHour / 24));
|
|
const diffMonth = Math.abs(Math.floor(diffDay / 30));
|
|
const diffYear = Math.abs(Math.floor(diffMonth / 12));
|
|
|
|
const diffStr = diffMs < 0
|
|
? "後"
|
|
: "前";
|
|
|
|
switch (true) {
|
|
case diffSec < 60:
|
|
return `${diffSec}秒${diffStr}`;
|
|
case diffMin < 60:
|
|
return `${diffMin}分${diffStr}`;
|
|
case diffHour < 24:
|
|
return `${diffHour}時間${diffStr}`;
|
|
case diffDay < 30:
|
|
return `${diffDay}日${diffStr}`;
|
|
case diffMonth < 12:
|
|
return `${diffMonth}ヶ月${diffStr}`;
|
|
default:
|
|
return `${diffYear}年${diffStr}`;
|
|
}
|
|
} |