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

 

查看原文