moment轉化時間戳出現(xiàn)Invalid Date的問題及解決
moment轉化時間戳出現(xiàn)Invalid Date
項目用在使用moment轉換時間戳的時候出現(xiàn)Invalid Date
通過后端接口發(fā)現(xiàn)接口返回的字段是 beginTime: “1612922019029”

在數(shù)據傳遞得過程中類型發(fā)生了變化 所以得把字符串用Number()轉化下數(shù)字類型即可正常顯示
// 轉換數(shù)字類型 beginTime: this.$moment(Number(item.beginTime)).format( "YYYY-MM-DD" ),
還有個小問題就是如果某個時間戳為空是時,則會顯示1970-01-01


所以為了防止顯示1970-01-01,所以通過三目運算判斷一下
endTime:
item.endTime == ""
? ""
: this.$moment(Number(item.endTime)).format("YYYY-MM-DD"),這樣頁面上頁就不會出現(xiàn)1970-01-01
使用Moment.js處理時間戳轉化為時間年月

Moment.js 是一個 JavaScript 日期處理類庫(處理時間格式化的npm包),用于解析、檢驗、操作、以及顯示日期,在新公司的項目中,大量使用Moment來處理時間日期,非常方便好用。
Moment.js 中文網:
優(yōu)點
- 不依賴任何第三方庫
- 支持字符串、Date、時間戳以及數(shù)組等格式
- 可以同時在瀏覽器和node環(huán)境中使用
- 前后端通用,文檔也很詳細
- 方便了日常開發(fā)中對時間的操作,提高了開發(fā)效率
使用步驟
1:在項目里面安裝Moment
cnpm install moment --save

2:在要使用的組件里面引入
import moment from 'moment';

3:時間戳如下
{
"users": [
{
"startTime":"1572502840091",
"endTime":"1572512489920"
}, {
"startTime":"1572512489920",
"endTime":"1572513935374"
}
]
}4:代碼
這里把時間戳做成了mock數(shù)據,使用axios對數(shù)據接口進行請求,請求完成之后渲染在前端界面,如果有不理解的地方可以查看專題從零開始學react系列教程。
import React from 'react';
import axios from 'axios';
import moment from 'moment';
class Time extends React.Component {
//構造函數(shù)
constructor() {
super();
//react定義數(shù)據
this.state = {
list: []
}
}
//請求接口的方法
getData = () => {
var api = 'http://localhost:3004/users';
axios.get(api)
.then((response) => {
// handle success
console.log(response.data);
//用到this需要注意指向,箭頭函數(shù)
this.setState({
list: response.data
})
})
.catch(function (error) {
// handle error
console.log(error);
});
}
render() {
return (
<div>
<h2>時間戳轉化為時間</h2>
<button onClick={this.getData}>獲取時間</button>
<ul>
{
this.state.list.map((value, key) => {
let start = moment(parseInt(value.startTime)).format('YYYY/MM/DD hh:mm:ss');
let end = moment(parseInt(value.endTime)).format('YYYY/MM/DD hh:mm:ss');
return (
<li key={key}>
<span>開始時間:{start}</span>
<span>結束時間:{end}</span>
</li>
)
})
}
</ul>
</div>
)
}
}
export default Time;5:效果
代碼運行如下,獲取到了時間年月日了。

總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue項目報錯:Missing?script:"serve"的解決辦法
這篇文章主要給大家介紹了關于vue項目報錯:Missing?script:"serve"的解決辦法,"missing script: serve"是一個錯誤信息,意味著在執(zhí)行啟動腳本時,找不到名為"serve"的腳本,需要的朋友可以參考下2023-11-11
vue項目發(fā)布有緩存正式環(huán)境不更新的解決方案
vue項目每次發(fā)布新版本后,測試人員都要強制刷新才能更新瀏覽器代碼來驗證bug,下面這篇文章主要給大家介紹了關于vue項目發(fā)布有緩存正式環(huán)境不更新的解決方案,需要的朋友可以參考下2024-03-03
vue+vant使用圖片預覽功能ImagePreview的問題解決
這篇文章主要介紹了vue+vant使用圖片預覽功能ImagePreview的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04

