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 个小时,也就是北京时间。

//[ISO 8601标准中的日期和时间格式解析]

//2024-07-24T15:36:00+08:00 (要使用"+08:00",UTC时间偏移了8个小时,也就是北京时间:表示东八区)

//2024-07-24T15:36:00-05:00 (而"-05:00"则表示西五区的美国东部时间)

//其中"T"用来分割日期和时间,时间后面跟着的"-07:00"表示西七区,注意"-"是连字符,不是减号

//其中"Z"为UTC时区标识

JS - ISO 8601格式时间,转换时间戳方法

JavaScript代码
  1. /*** ISO日期时间戳转时间对象 ***/  
  2. const isoString = '2021-03-25T15:00:00Z';  
  3. const date = new Date(isoString);  
  4.   
  5. /*** 时间对象转ISO日期时间戳字符串 ***/  
  6. const date = new Date();  
  7. const isoString = date.toISOString();  

 

JS时区转换方法

JavaScript代码
  1. //UTC时区时间  
  2. var iso8601String = "2022-01-01T12:00:00.000Z";  
  3. var date = new Date(iso8601String);  
  4. console.log('date', date)  
  5.   
  6. //打印转换的时间戳  
  7. var utcStr = date.toUTCString(); //转换为UTC字符串  
  8. var ut_localTimeString = date.toLocaleString("en-US", {timeZone: "UTC", hour12: false});                //UTC等于伦敦0时区  
  9. var uk_localTimeString = date.toLocaleString("en-US", {timeZone: "Europe/London", hour12: false});      //欧洲-伦敦  
  10. var us_localTimeString = date.toLocaleString("en-US", {timeZone: "America/New_York", hour12: false});   //北美-纽约  
  11. var cn_localTimeString = date.toLocaleString("en-US", {timeZone: "Asia/Shanghai", hour12: false});      //亚洲-上海  
  12. //console.log('utcStr', utcStr)  
  13. console.log('ut_localTimeString(UTC)', ut_localTimeString);  
  14. console.log('uk_localTimeString(UK)', uk_localTimeString);  
  15. console.log('us_localTimeString(US)', us_localTimeString);  
  16. console.log('cn_localTimeString(CN)', cn_localTimeString);  

 

如下JS格式化时间方法

JavaScript代码
  1. function formatDate(dateString, format = 'yyyy-MM-dd HH:mm:ss') {  
  2.   const date = new Date(dateString);  
  3.   
  4.   const year = date.getFullYear();  
  5.   const month = String(date.getMonth() + 1).padStart(2, '0');  
  6.   const day = String(date.getDate()).padStart(2, '0');  
  7.   const hour = String(date.getHours()).padStart(2, '0');  
  8.   const minute = String(date.getMinutes()).padStart(2, '0');  
  9.   const second = String(date.getSeconds()).padStart(2, '0');  
  10.   
  11.   const formattedDate = format  
  12.     .replace(/yyyy/g, year)  
  13.     .replace(/MM/g, month)  
  14.     .replace(/dd/g, day)  
  15.     .replace(/HH/g, hour)  
  16.     .replace(/mm/g, minute)  
  17.     .replace(/ss/g, second);  
  18.   
  19.   return formattedDate;  
  20. }  
  21.   
  22. // 示例用法  
  23. console.log(formatDate('2022-03-09 23:43:43')); // 输出:2022-03-09 23:43:43  
  24. console.log(formatDate('03/09/2022', 'yyyy年MM月dd日')); // 输出:2022年03月09日  
  25. console.log(formatDate('09 Mar 2022 23:43:43 GMT', 'yyyy-MM-dd HH:mm:ss')); // 输出:2022-03-09 23:43:43  

 

H5/JS/CSS | 评论(0) | 引用(0) | 阅读(530)