js は iso 8601 形式の日付を他の形式にフォーマットします - デフォルトの golang 時間型形式の問題を処理します

golang の時刻型形式がデフォルトで json にシリアル化される場合、それは iso 8601 形式になります

例えば:

2023-03-09T23:43:43+08:00

ISO 8601 形式の時刻表記で、世界の時刻と日付を表すために一般的に使用されます。ISO 8601 形式では、ハイフン "-" を使用して日付と時刻の部分を区切り、文字 "T" を使用して日付と時刻の部分を区切ります。"T" の後に時刻の部分が続きます。この時間表現では、「2023-03-09」は日付部分を表し、「23:43:43+08:00」は時間部分とタイム ゾーン オフセットを表します。このうち、「+08:00」は UTC 時間、つまり北京時間に対して 8 時間のオフセットを意味します。

書式設定には次の関数を使用できます

function formatDate(dateString, format = 'yyyy-MM-dd HH:mm:ss') {
  const date = new Date(dateString);

  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0');
  const day = String(date.getDate()).padStart(2, '0');
  const hour = String(date.getHours()).padStart(2, '0');
  const minute = String(date.getMinutes()).padStart(2, '0');
  const second = String(date.getSeconds()).padStart(2, '0');

  const formattedDate = format
    .replace(/yyyy/g, year)
    .replace(/MM/g, month)
    .replace(/dd/g, day)
    .replace(/HH/g, hour)
    .replace(/mm/g, minute)
    .replace(/ss/g, second);

  return formattedDate;
}

// 示例用法
console.log(formatDate('2022-03-09 23:43:43')); // 输出:2022-03-09 23:43:43
console.log(formatDate('03/09/2022', 'yyyy年MM月dd日')); // 输出:2022年03月09日
console.log(formatDate('09 Mar 2022 23:43:43 GMT', 'yyyy-MM-dd HH:mm:ss')); // 输出:2022-03-09 23:43:43

おすすめ

転載: blog.csdn.net/taoshihan/article/details/129434743