## 概要 [Task3362: [OMDS様要望] タスク一覧画面の日時表示を変えたい(修正タスク)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3362) - 以下の画面について、日時の表示形式をブラウザのロケールに合わせて変換し、時差を考慮した内容になるよう修正しました。 - タスク一覧画面 - 音声メタ情報ポップアップ - 注文履歴画面(日付のみ表示) - サーバからUTCでのYYYY/MM/DDの文字列として返却していたので、ISOStringとして返却して画面で表示内容を変換するよう処理を修正しました - タスク一覧画面のFile Lengthについて、hh:mm:ss形式となるよう修正しました ## レビューポイント - formatMillisecondsToHHMMSSについて、他で使うシーンがなかったのでdictation内の関数としたが、全体の関数とした方がよいか - convertUtcToLocalについて不正な日付の文字列が渡された場合、変換せずに元の値を返却しているが、エラー対応として問題ないか ## UIの変更 - https://ndstokyo.sharepoint.com/:f:/r/sites/Piranha/Shared%20Documents/General/OMDS/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/Task3362?csf=1&web=1&e=Nc7kPV ## 動作確認状況 - ローカルで確認、サーバ側はnpm run test実施済 ## 補足 - 相談、参考資料などがあれば
16 lines
594 B
TypeScript
16 lines
594 B
TypeScript
// UTCの日付に対してローカルのロケール+タイムゾーンを考慮して表示形式と時刻補正を行った文字列を返却する
|
||
export const convertUtcToLocal = (
|
||
utcDateString: string,
|
||
formatOptions?: Intl.DateTimeFormatOptions
|
||
): string => {
|
||
if (Number.isNaN(Date.parse(utcDateString))) {
|
||
// 日付文字列が未定義または無効な場合は 変換を行わない
|
||
return utcDateString;
|
||
}
|
||
|
||
const utcDate = new Date(utcDateString);
|
||
return formatOptions
|
||
? utcDate.toLocaleString(undefined, formatOptions)
|
||
: utcDate.toLocaleString();
|
||
};
|