欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

React 如何使用時(shí)間戳計(jì)算得到開始和結(jié)束時(shí)間戳

 更新時(shí)間:2023年09月22日 15:35:13   作者:zhoupenghui168  
這篇文章主要介紹了React 如何拿時(shí)間戳計(jì)算得到開始和結(jié)束時(shí)間戳,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

獲取需要的時(shí)間戳(開始 and 結(jié)束時(shí)間戳) 調(diào)用如下方法就行:

function getWantTimestamp(props) {
  //當(dāng)前時(shí)間
  const nowDate = parseInt((new Date().getTime() / 1000).toString()); //當(dāng)前時(shí)間
  switch (props) {
    // 當(dāng)前時(shí)間時(shí)間戳
    case "nowData": {
      return nowDate;
    }
    // 當(dāng)前零點(diǎn)得時(shí)間戳
    case "nowZero": {
      let nowZero = nowDate - (nowDate % 86400) - 3600 * 8;
      return nowZero;
    }
    // 過(guò)去24小時(shí)的時(shí)間戳
    case "formerlyDay": {
      let formerlyDay = nowDate - 86400;
      return formerlyDay;
    }
    // 昨天的零點(diǎn)的時(shí)間戳
    case "yesterdayZero": {
      let yesterdayZero = nowDate - (nowDate % 86400) - 3600 * 8 - 3600 * 24;
      return yesterdayZero;
    }
    // 本周星期一零點(diǎn)的時(shí)間戳
    case "thisMondayZero": {
      let nowThisWeek = new Date().getDay(); //獲取當(dāng)前周
      let a = nowDate - (nowThisWeek - 1) * 86400; //得到當(dāng)前時(shí)間到這周
      let thisMondayZero = a - (a % 86400) - 3600 * 8;
      return thisMondayZero;
    }
    // 上周星期一零點(diǎn)的時(shí)間戳
    case "lastMondayZero": {
      let nowThisWeek = new Date().getDay(); //獲取當(dāng)前周
      let a = nowDate - (nowThisWeek - 1) * 86400; //得到當(dāng)前時(shí)間到這周
      let thisMondayZero = a - (a % 86400) - 3600 * 8;
      let lastMondayZero = thisMondayZero - 86400 * 7;
      return lastMondayZero;
    }
    // 過(guò)去7天的時(shí)間戳
    case "formerlySevenDay": {
      let formerlySevenDay = nowDate - 86400 * 7;
      return formerlySevenDay;
    }
    // 本月開始第一天零點(diǎn)的時(shí)間戳
    case "thisMonthBeginZero": {
      let MonthDate: any = new Date();
      MonthDate.setDate(1); //set設(shè)置時(shí)間
      MonthDate.setHours(0);
      MonthDate.setSeconds(0);
      MonthDate.setMinutes(0);
      let thisMonthBeginZero = parseInt((MonthDate / 1000).toString());
      return thisMonthBeginZero;
    }
    // 過(guò)去30天的時(shí)間戳
    case "formerlyThirtyDays": {
      let formerlyThirtyDays = nowDate - 86400 * 30;
      return formerlyThirtyDays;
    }
    // 上個(gè)月的零點(diǎn)的時(shí)間戳
    case "lastMonthDayZero": {
      let nowMonthDate: any = new Date();
      let getMonth = nowMonthDate.getMonth() + 1;
      nowMonthDate.setMonth(getMonth - 2);
      nowMonthDate.setDate(1); //set設(shè)置時(shí)間
      nowMonthDate.setHours(0);
      nowMonthDate.setSeconds(0);
      nowMonthDate.setMinutes(0);
      let lastMonthDayZero = parseInt((nowMonthDate / 1000).toString());
      return lastMonthDayZero;
    }
    // 今年開始第一天零點(diǎn)的時(shí)間戳
    case "thisYearDayZero": {
      let yearDate: any = new Date();
      yearDate.setMonth(0);
      yearDate.setDate(1); //set設(shè)置時(shí)間
      yearDate.setHours(0);
      yearDate.setSeconds(0);
      yearDate.setMinutes(0);
      let thisYearDayZero = parseInt((yearDate / 1000).toString());
      return thisYearDayZero;
    }
    // 過(guò)去12個(gè)月的時(shí)間戳
    case "formerlyTwelveYearZero": {
      let now12Date: any = new Date();
      let getYear12 = now12Date.getFullYear();
      now12Date.setYear(getYear12 - 1);
      let formerlyTwelveYearZero = parseInt((now12Date / 1000).toString());
      return formerlyTwelveYearZero;
    }
    // 去年開始第一天的時(shí)間戳
    case "lastYearDayZero": {
      let nowYearDate: any = new Date();
      let getYear = nowYearDate.getFullYear();
      nowYearDate.setYear(getYear - 1);
      nowYearDate.setMonth(0);
      nowYearDate.setDate(1); //set設(shè)置時(shí)間
      nowYearDate.setHours(0);
      nowYearDate.setSeconds(0);
      nowYearDate.setMinutes(0);
      let lastYearDayZero = parseInt((nowYearDate / 1000).toString());
      return lastYearDayZero;
    }
    default: {
      console.log("時(shí)間參數(shù)錯(cuò)誤");
      return 0;
    }
  }
}

調(diào)用getWantTimestamp()方法就能得到需要的時(shí)間戳:

getWantTimestamp("nowData")//nowData是switch的判斷的參數(shù)

 計(jì)算當(dāng)前時(shí)間到今晚23:59:59的時(shí)間戳:

//當(dāng)前23:59:59秒時(shí)間戳
let today = new Date(new Date().toLocaleDateString()).getTime() + 24*60*60*1000-1
//當(dāng)前時(shí)間戳
let nowDate = parseInt((new Date().getTime()).toString());
//當(dāng)前時(shí)間距離23:59:59秒的時(shí)間戳差值
console.log((today - nowDate) / 1000));

動(dòng)態(tài)獲取當(dāng)前年月日時(shí)分秒:

import React, { useState, useEffect } from 'react';
function CurrentDateTime() {
  const [currentDateTime, setCurrentDateTime] = useState(new Date());
  useEffect(() => {
    const interval = setInterval(() => {
      setCurrentDateTime(new Date());
    }, 1000); // 每秒更新一次
    return () => {
      clearInterval(interval);
    };
  }, []);
  const year = currentDateTime.getFullYear();
  const month = currentDateTime.getMonth() + 1; // 月份從 0 開始,因此需要加 1
  const date = currentDateTime.getDate();
  const hours = currentDateTime.getHours();
  const minutes = currentDateTime.getMinutes();
  const seconds = currentDateTime.getSeconds();
  return (
    <div>
      <p>當(dāng)前年月日: {year}-{month < 10 ? `0${month}` : month}-{date}</p>
      <p>當(dāng)前時(shí)分秒: {hours}:{minutes < 10 ? `0${minutes}` : minutes}:{seconds < 10 ? `0${seconds}` : seconds}</p>
    </div>
  );
}
export default CurrentDateTime;

到此這篇關(guān)于React 如何拿時(shí)間戳計(jì)算得到開始和結(jié)束時(shí)間戳的文章就介紹到這了,更多相關(guān)React計(jì)算開始和結(jié)束時(shí)間戳內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • React實(shí)現(xiàn)組件全屏化的操作方法

    React實(shí)現(xiàn)組件全屏化的操作方法

    開發(fā)今天給我提了一個(gè)sql編輯器輸入框比較小,不支持放大,不太方便,下面看下我的處理方法,本文基于React+antd,給大家演示一個(gè)完整的全屏demo,感興趣的朋友一起看看吧
    2021-10-10
  • React狀態(tài)管理的簡(jiǎn)明指南

    React狀態(tài)管理的簡(jiǎn)明指南

    Redux 是React最常用的集中狀態(tài)管理工具,本文主要介紹了React狀態(tài)管理的簡(jiǎn)明指南,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 詳解React Fiber的工作原理

    詳解React Fiber的工作原理

    這篇文章主要介紹了React Fiber的工作原理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用React框架,感興趣的朋友可以了解下
    2021-04-04
  • 基于React實(shí)現(xiàn)一個(gè)todo打勾效果

    基于React實(shí)現(xiàn)一個(gè)todo打勾效果

    這篇文章主要為大家詳細(xì)介紹了如何基于React實(shí)現(xiàn)一個(gè)todo打勾效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • React commit源碼分析詳解

    React commit源碼分析詳解

    前兩章講到了,react 在 render 階段的 completeUnitWork 執(zhí)行完畢后,就執(zhí)行 commitRoot 進(jìn)入到了 commit 階段,本章將講解 commit 階段執(zhí)行過(guò)程源碼
    2022-11-11
  • React進(jìn)行路由跳轉(zhuǎn)的方法匯總

    React進(jìn)行路由跳轉(zhuǎn)的方法匯總

    在 React 中進(jìn)行路由跳轉(zhuǎn)有多種方法,具體取決于你使用的路由庫(kù)和版本,以下是常見(jiàn)的路由跳轉(zhuǎn)方法匯總,主要基于 react-router-dom 庫(kù),文中并通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • React Context詳解使用過(guò)程

    React Context詳解使用過(guò)程

    在Reactor中提供了Context來(lái)替代ThreadLocal,可以實(shí)現(xiàn)一個(gè)跨線程的共享變量的透明方式。本文主要為大家介紹了Context的用法的用法,感興趣的可以了解一下
    2023-03-03
  • React Native 中添加自定義字體的方法

    React Native 中添加自定義字體的方法

    這篇文章主要介紹了如何在 React Native 中添加自定義字體,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • react中定義變量并使用方式

    react中定義變量并使用方式

    這篇文章主要介紹了react中定義變量并使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • react中Suspense的使用詳解

    react中Suspense的使用詳解

    這篇文章主要介紹了react中Suspense的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評(píng)論