Feat: メッセージの送受信 / New: ユーザーのiconプロパティ / New: logエンティティ・リポジトリ / Chg: コミュニティリポジトリのスキーマのiconをoptionalに / Del: 不要なimport / Fix: Vue起動前のindex.htmlの背景色をVueと同期 / Enhance: Service Workerを改善 / Fix: 最初に開いたページが動作しない問題 / Feat: 上部の通知モーダル / Feat: 閉じることができないエラーのモーダルに再読み込みボタンを追加 / Fix: はみ出す挙動などのCSSを修正

This commit is contained in:
2026-05-31 13:54:55 +09:00
parent beb0e25ad9
commit cbf18aec8f
37 changed files with 1174 additions and 83 deletions
+28
View File
@@ -0,0 +1,28 @@
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}`;
}
}