国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

moment轉化時間戳出現Invalid Date的問題及解決

瀏覽:116日期:2022-06-09 18:23:44
目錄
  • moment轉化時間戳出現Invalid Date
  • 使用Moment.js處理時間戳轉化為時間年月
    • 優點
    • 使用步驟
  • 總結

    moment轉化時間戳出現Invalid Date

    項目用在使用moment轉換時間戳的時候出現Invalid Date

    通過后端接口發現接口返回的字段是 beginTime: “1612922019029”

    在數據傳遞得過程中類型發生了變化 所以得把字符串用Number()轉化下數字類型即可正常顯示

    // 轉換數字類型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"),

    這樣頁面上頁就不會出現1970-01-01

    使用Moment.js處理時間戳轉化為時間年月

    Moment.js 是一個 JavaScript 日期處理類庫(處理時間格式化的npm包),用于解析、檢驗、操作、以及顯示日期,在新公司的項目中,大量使用Moment來處理時間日期,非常方便好用。

    Moment.js 中文網:

    優點

    • 不依賴任何第三方庫
    • 支持字符串、Date、時間戳以及數組等格式
    • 可以同時在瀏覽器和node環境中使用
    • 前后端通用,文檔也很詳細
    • 方便了日常開發中對時間的操作,提高了開發效率

    使用步驟

    1:在項目里面安裝Moment

    cnpm install moment --save

    2:在要使用的組件里面引入

    import moment from "moment"; 

    3:時間戳如下

    {  "users": [    {"startTime":"1572502840091","endTime":"1572512489920"    }, {      "startTime":"1572512489920",      "endTime":"1572513935374"    }]}

    4:代碼

    這里把時間戳做成了mock數據,使用axios對數據接口進行請求,請求完成之后渲染在前端界面,如果有不理解的地方可以查看專題從零開始學react系列教程。

    import React from "react";import axios from "axios";import moment from "moment";class Time extends React.Component {  //構造函數  constructor() {    super();    //react定義數據    this.state = {      list: []    }  }  //請求接口的方法  getData = () => {    var api = "http://localhost:3004/users";    axios.get(api)      .then((response) => {// handle successconsole.log(response.data);//用到this需要注意指向,箭頭函數this.setState({  list: response.data})      })      .catch(function (error) {// handle errorconsole.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:效果

    代碼運行如下,獲取到了時間年月日了。

    總結

    以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

    標簽: JavaScript
    主站蜘蛛池模板: 雷波县| 安福县| 桐城市| 西吉县| 昌江| 六安市| 永善县| 远安县| 彰化市| 鲜城| 洛阳市| 佳木斯市| 遂昌县| 敖汉旗| 宁津县| 新余市| 邻水| 肃宁县| 淄博市| 阿坝县| 长沙县| 黑河市| 蓝田县| 始兴县| 沧州市| 明光市| 滨州市| 安达市| 公主岭市| 郓城县| 泰兴市| 武邑县| 张北县| 新源县| 延安市| 进贤县| 泽库县| 巴东县| 化隆| 湘潭县| 宜都市|