<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://liuxinxiu.com:80/js-dateTimeFormat/</link>
<title><![CDATA[js格式化iso 8601格式的日期为其他格式-处理默认golang time类型格式问题]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[H5/JS/CSS]]></category>
<pubDate>Thu, 25 Jul 2024 02:29:51 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/js-dateTimeFormat/</guid> 
<description>
<![CDATA[ 
	<p>golang time类型格式默认序列化为json的时候，是iso 8601格式</p><p>比如：2023-03-09T23:43:43+08:00</p><p>ISO 8601 格式的时间表示法，常用于表示世界范围内的时间和日期。ISO 8601 格式使用连字符 &quot;-&quot; 分隔日期和时间部分，并以字母 &quot;T&quot; 分隔日期和时间部分，其中 &quot;T&quot; 后面跟着时间部分。在这个时间表示中，&quot;2023-03-09&quot; 表示日期部分，&quot;23:43:43+08:00&quot; 表示时间部分和时区偏移量。其中，&quot;+08:00&quot; 表示相对于 UTC 时间偏移了 8 个小时，也就是北京时间。</p><p>//[ISO 8601标准中的日期和时间格式解析]</p><p>//2024-07-24T15:36:00+08:00 (要使用&quot;+08:00&quot;,UTC时间偏移了8个小时，也就是北京时间:表示东八区)</p><p>//2024-07-24T15:36:00-05:00 (<span style="color: rgb(51, 51, 51); font-family: -apple-system, Arial, Helvetica, sans-serif;">而&quot;-05:00&quot;则表示西五区的美国东部时间</span>)</p><p>//其中&quot;T&quot;用来分割日期和时间，时间后面跟着的&quot;-07:00&quot;表示西七区，注意&quot;-&quot;是连字符，不是减号</p><p>//其中&quot;Z&quot;为UTC时区标识</p><p><img src="/attachment/2024/07/image/76066-20200309092241978-883046384.png" alt="" /></p><p><img src="/attachment/2024/07/image/2024-07-25_112357.png" width="900" height="543" alt="" /></p><p><img src="/attachment/2024/07/image/2024-07-25_115649.png" alt="" /></p><p>JS - ISO 8601格式时间，转换时间戳方法</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">/*** ISO日期时间戳转时间对象 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">const</span><span> isoString = </span><span class="string">'2021-03-25T15:00:00Z'</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">const</span><span> date = </span><span class="keyword">new</span><span> Date(isoString);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/*** 时间对象转ISO日期时间戳字符串 ***/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">const</span><span> date = </span><span class="keyword">new</span><span> Date();&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">const</span><span> isoString = date.toISOString();&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;</p><p>JS时区转换方法</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">//UTC时区时间</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">var</span><span> iso8601String = </span><span class="string">&quot;2022-01-01T12:00:00.000Z&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">var</span><span> date = </span><span class="keyword">new</span><span> Date(iso8601String);&nbsp;&nbsp;</span></span></li><li><span>console.log(<span class="string">'date'</span><span>, date)&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">//打印转换的时间戳</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">var</span><span> utcStr = date.toUTCString(); </span><span class="comment">//转换为UTC字符串</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">var</span><span> ut_localTimeString = date.toLocaleString(</span><span class="string">&quot;en-US&quot;</span><span>, &#123;timeZone: </span><span class="string">&quot;UTC&quot;</span><span>, hour12: </span><span class="keyword">false</span><span>&#125;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//UTC等于伦敦0时区</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">var</span><span> uk_localTimeString = date.toLocaleString(</span><span class="string">&quot;en-US&quot;</span><span>, &#123;timeZone: </span><span class="string">&quot;Europe/London&quot;</span><span>, hour12: </span><span class="keyword">false</span><span>&#125;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//欧洲-伦敦</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">var</span><span> us_localTimeString = date.toLocaleString(</span><span class="string">&quot;en-US&quot;</span><span>, &#123;timeZone: </span><span class="string">&quot;America/New_York&quot;</span><span>, hour12: </span><span class="keyword">false</span><span>&#125;);&nbsp;&nbsp; </span><span class="comment">//北美-纽约</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="keyword">var</span><span> cn_localTimeString = date.toLocaleString(</span><span class="string">&quot;en-US&quot;</span><span>, &#123;timeZone: </span><span class="string">&quot;Asia/Shanghai&quot;</span><span>, hour12: </span><span class="keyword">false</span><span>&#125;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//亚洲-上海</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="comment">//console.log('utcStr', utcStr)</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>console.log(<span class="string">'ut_localTimeString(UTC)'</span><span>, ut_localTimeString);&nbsp;&nbsp;</span></span></li><li><span>console.log(<span class="string">'uk_localTimeString(UK)'</span><span>, uk_localTimeString);&nbsp;&nbsp;</span></span></li><li class="alt"><span>console.log(<span class="string">'us_localTimeString(US)'</span><span>, us_localTimeString);&nbsp;&nbsp;</span></span></li><li><span>console.log(<span class="string">'cn_localTimeString(CN)'</span><span>, cn_localTimeString);&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;</p><p><img src="/attachment/2024/07/image/2024-07-25_102908.png" width="878" height="471" alt="" /></p><p><img src="/attachment/2024/07/image/2024-07-25_103004.png" width="1048" height="323" alt="" /></p><p><img src="/attachment/2024/07/image/2024-07-25_102934.png" width="830" height="651" alt="" /></p><p>如下JS格式化时间方法</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> formatDate(dateString, format = </span><span class="string">'yyyy-MM-dd HH:mm:ss'</span><span>) &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;<span class="keyword">const</span><span> date = </span><span class="keyword">new</span><span> Date(dateString);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;<span class="keyword">const</span><span> year = date.getFullYear();&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;<span class="keyword">const</span><span> month = String(date.getMonth() + 1).padStart(2, </span><span class="string">'0'</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;<span class="keyword">const</span><span> day = String(date.getDate()).padStart(2, </span><span class="string">'0'</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;<span class="keyword">const</span><span> hour = String(date.getHours()).padStart(2, </span><span class="string">'0'</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;<span class="keyword">const</span><span> minute = String(date.getMinutes()).padStart(2, </span><span class="string">'0'</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;<span class="keyword">const</span><span> second = String(date.getSeconds()).padStart(2, </span><span class="string">'0'</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;<span class="keyword">const</span><span> formattedDate = format&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;.replace(/yyyy/g, year)&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;.replace(/MM/g, month)&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;.replace(/dd/g, day)&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;.replace(/HH/g, hour)&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;.replace(/mm/g, minute)&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;.replace(/ss/g, second);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;<span class="keyword">return</span><span> formattedDate;&nbsp;&nbsp;</span></span></li><li><span>&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">// 示例用法</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>console.log(formatDate(<span class="string">'2022-03-09 23:43:43'</span><span>)); </span><span class="comment">// 输出：2022-03-09 23:43:43</span><span>&nbsp;&nbsp;</span></span></li><li><span>console.log(formatDate(<span class="string">'03/09/2022'</span><span>, </span><span class="string">'yyyy年MM月dd日'</span><span>)); </span><span class="comment">// 输出：2022年03月09日</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>console.log(formatDate(<span class="string">'09 Mar 2022 23:43:43 GMT'</span><span>, </span><span class="string">'yyyy-MM-dd HH:mm:ss'</span><span>)); </span><span class="comment">// 输出：2022-03-09 23:43:43</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;</p>
]]>
</description>
</item><item>
<link>http://liuxinxiu.com:80/js-dateTimeFormat/#blogcomment</link>
<title><![CDATA[[评论] js格式化iso 8601格式的日期为其他格式-处理默认golang time类型格式问题]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/js-dateTimeFormat/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>