有次测试中后台api返回的日期是Unix时间戳格式,这时需要用到格式转换,直接扒拉代码贴上。
<!--hexoPostRenderEscape:<figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br></pre></td><td class="code"><pre><span class="line">(<span class="function"><span class="keyword">function</span>(<span class="params">$</span>) </span>{</span><br><span class="line"> $.extend({</span><br><span class="line"> myTime: {</span><br><span class="line"> <span class="comment">/**</span></span><br><span class="line"><span class="comment"> * 当前时间戳</span></span><br><span class="line"><span class="comment"> * <span class="doctag">@return </span><int> unix时间戳(秒) </span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"> CurTime: <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="keyword">return</span> <span class="built_in">Date</span>.parse(<span class="keyword">new</span> <span class="built_in">Date</span>())/<span class="number">1000</span>;</span><br><span class="line"> },</span><br><span class="line"> <span class="comment">/** </span></span><br><span class="line"><span class="comment"> * 日期 转换为 Unix时间戳 </span></span><br><span class="line"><span class="comment"> * <span class="doctag">@param </span><string> 2014-01-01 20:20:20 日期格式 </span></span><br><span class="line"><span class="comment"> * <span class="doctag">@return </span><int> unix时间戳(秒) </span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"> DateToUnix: <span class="function"><span class="keyword">function</span>(<span class="params">string</span>) </span>{</span><br><span class="line"> <span class="keyword">var</span> f = string.split(<span class="string">' '</span>, <span class="number">2</span>);</span><br><span class="line"> <span class="keyword">var</span> d = (f[<span class="number">0</span>] ? f[<span class="number">0</span>] : <span class="string">''</span>).split(<span class="string">'-'</span>, <span class="number">3</span>);</span><br><span class="line"> <span class="keyword">var</span> t = (f[<span class="number">1</span>] ? f[<span class="number">1</span>] : <span class="string">''</span>).split(<span class="string">':'</span>, <span class="number">3</span>);</span><br><span class="line"> <span class="keyword">return</span> (<span class="keyword">new</span> <span class="built_in">Date</span>(</span><br><span class="line"> <span class="built_in">parseInt</span>(d[<span class="number">0</span>], <span class="number">10</span>) || <span class="literal">null</span>,</span><br><span class="line"> (<span class="built_in">parseInt</span>(d[<span class="number">1</span>], <span class="number">10</span>) || <span class="number">1</span>) - <span class="number">1</span>,</span><br><span class="line"> <span class="built_in">parseInt</span>(d[<span class="number">2</span>], <span class="number">10</span>) || <span class="literal">null</span>,</span><br><span class="line"> <span class="built_in">parseInt</span>(t[<span class="number">0</span>], <span class="number">10</span>) || <span class="literal">null</span>,</span><br><span class="line"> <span class="built_in">parseInt</span>(t[<span class="number">1</span>], <span class="number">10</span>) || <span class="literal">null</span>,</span><br><span class="line"> <span class="built_in">parseInt</span>(t[<span class="number">2</span>], <span class="number">10</span>) || <span class="literal">null</span></span><br><span class="line"> )).getTime() / <span class="number">1000</span>;</span><br><span class="line"> },</span><br><span class="line"> <span class="comment">/** </span></span><br><span class="line"><span class="comment"> * 时间戳转换日期 </span></span><br><span class="line"><span class="comment"> * <span class="doctag">@param </span><int> unixTime 待时间戳(秒) </span></span><br><span class="line"><span class="comment"> * <span class="doctag">@param </span><bool> isFull 返回完整时间(Y-m-d 或者 Y-m-d H:i:s) </span></span><br><span class="line"><span class="comment"> * <span class="doctag">@param </span><int> timeZone 时区 </span></span><br><span class="line"><span class="comment"> */</span></span><br><span class="line"> UnixToDate: <span class="function"><span class="keyword">function</span>(<span class="params">unixTime, isFull, timeZone</span>) </span>{</span><br><span class="line"> <span class="keyword">if</span> (<span class="keyword">typeof</span> (timeZone) == <span class="string">'number'</span>)</span><br><span class="line"> {</span><br><span class="line"> unixTime = <span class="built_in">parseInt</span>(unixTime) + <span class="built_in">parseInt</span>(timeZone) * <span class="number">60</span> * <span class="number">60</span>;</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">var</span> time = <span class="keyword">new</span> <span class="built_in">Date</span>(unixTime * <span class="number">1000</span>);</span><br><span class="line"> <span class="keyword">var</span> ymdhis = <span class="string">""</span>;</span><br><span class="line"> ymdhis += time.getUTCFullYear() + <span class="string">"-"</span>;</span><br><span class="line"> ymdhis += (time.getUTCMonth()+<span class="number">1</span>) + <span class="string">"-"</span>;</span><br><span class="line"> ymdhis += time.getUTCDate();</span><br><span class="line"> <span class="keyword">if</span> (isFull === <span class="literal">true</span>)</span><br><span class="line"> {</span><br><span class="line"> ymdhis += <span class="string">" "</span> + time.getUTCHours() + <span class="string">":"</span>;</span><br><span class="line"> ymdhis += time.getUTCMinutes() + <span class="string">":"</span>;</span><br><span class="line"> ymdhis += time.getUTCSeconds();</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">return</span> ymdhis;</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> });</span><br><span class="line">})(jQuery); </span><br></pre></td></tr></table></figure>:hexoPostRenderEscape-->
日期转换时间戳:
<!--hexoPostRenderEscape:<figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$.myTime.DateToUnix(<span class="string">'2014-5-15 20:20:20'</span>));</span><br></pre></td></tr></table></figure>:hexoPostRenderEscape-->
时间戳转换日期:
<!--hexoPostRenderEscape:<figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$.myTime.UnixToDate(<span class="number">1325347200</span>)</span><br></pre></td></tr></table></figure>:hexoPostRenderEscape-->