js格式化iso 8601格式的日期爲其他格式-處理默認golang time類型格式問題

golang time類型格式默認序列化爲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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章