vue中解決時間在ios上顯示NAN的問題

來源:互聯網
上載者:User

標籤:顯示   記錄   style   value   var   時間   orm   計時   tran   

最近在用vue,遇到倒計時在ios上顯示為NAN的問題。

因為做的是倒計時支付,思路是擷取伺服器時間和下單時間,再轉成秒級時間戳記做差值。

在網上找到說是ios 不支援例如2018-09-01 10:00:59這種"-"串連符。

網上的解決是:

var data = ‘2018-09-01 12:00:00‘var time= Date.parse(new Date(data ))

然後用正則匹配改一下,將-替換為/

var date = ‘2018-09-01 12:00:00‘var format = date.replace(/-/g, ‘/‘)var time= Date.parse(new Date(format))

但是問題還是沒有解決,在ios上仍然顯示為NAN

於是想到用moment.js,成功解決問題!!!

vue中先引入npm install moment --save

import moment from ‘moment/moment‘

然後

//注意:蘋果手機不支援以“-”分割的時間形式,故必須進行格式轉換為‘YYYY/MM/DD HH:mm:ss‘。//date格式是後台返回過來的Timestamp 2018-09-01T09:10:41.000+0000let transTime = moment(date).format(‘YYYY/MM/DD HH:mm:ss‘)
console.log(transTime)

輸出

2018/09/01 09:10:41
//轉為時間戳記let omTime = this.transformTime(transTime)transformTime(t){    console.log(‘轉換前的時間‘+t)    //利用moment工具產生date對象    let date = moment(t).toDate()    console.log(‘date:‘+ date)    //變成秒級時間戳記    return moment(date).valueOf()}                    

這個omTime時間戳記就可以用來和伺服器的時間戳記做差值實現倒計時了,

經測試,在android和ios上都沒問題,問題終於搞定!!!

這裡mark記錄一下,分享給你們,避免踏坑太久。

 

vue中解決時間在ios上顯示NAN的問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.