需求:
將首頁顯示的int類型的時間轉化為date類型的時間格式:
QuestionModel獲取到question列表數據時,包括question['pub_time'],在顯示時,需要將其轉化為具體的時間格式進行顯示。
插入問題記錄時,pub_time字段是使用php的time()函數,獲取到當前的時間戳整數,然后插入到mysql數據表中的,所以其格式是int類型。
但在view視圖的html中顯示時,需要將其格式化成時間格式進行顯示。但又因為每一條問題為了便於分頁顯示數據都是通過js拼接的,所以轉換的功能就依靠js了。
在網上搜到關於js將int轉換為date格式數據的答案都是相互拷貝,並且也不實用,所以看了php和js官方手冊后,了解到:
- php中time()是返回當前的unix時間戳,精確到秒數 https://secure.php.net/manual/zh/function.time.php
- js中new Date()可以通過給Date傳遞參數,而將int數據轉換成date類型數據,參數精確到毫秒數 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date
現在問題就轉換的很簡單了,通過js Date對象轉換成相應的年月日就可以了,默認情況下,date變量的值為時間格式字符串。
var time = questions[i]['pub_time']; //1483970035 var date = new Date(time*1000); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); des = year + '-' + month + '-' + day;
實現的結果:

真的只是秒數和毫秒數的差別,忽略之后就困惑了很久。
