当前位置: 首页 > news >正文

React 如何拿时间戳计算得到开始和结束时间戳

获取需要的时间戳(开始 and 结束时间戳) 调用如下方法就行:

function getWantTimestamp(props) {//当前时间const nowDate = parseInt((new Date().getTime() / 1000).toString()); //当前时间switch (props) {// 当前时间时间戳case "nowData": {return nowDate;}// 当前零点得时间戳case "nowZero": {let nowZero = nowDate - (nowDate % 86400) - 3600 * 8;return nowZero;}// 过去24小时的时间戳case "formerlyDay": {let formerlyDay = nowDate - 86400;return formerlyDay;}// 昨天的零点的时间戳case "yesterdayZero": {let yesterdayZero = nowDate - (nowDate % 86400) - 3600 * 8 - 3600 * 24;return yesterdayZero;}// 本周星期一零点的时间戳case "thisMondayZero": {let nowThisWeek = new Date().getDay(); //获取当前周let a = nowDate - (nowThisWeek - 1) * 86400; //得到当前时间到这周let thisMondayZero = a - (a % 86400) - 3600 * 8;return thisMondayZero;}// 上周星期一零点的时间戳case "lastMondayZero": {let nowThisWeek = new Date().getDay(); //获取当前周let a = nowDate - (nowThisWeek - 1) * 86400; //得到当前时间到这周let thisMondayZero = a - (a % 86400) - 3600 * 8;let lastMondayZero = thisMondayZero - 86400 * 7;return lastMondayZero;}// 过去7天的时间戳case "formerlySevenDay": {let formerlySevenDay = nowDate - 86400 * 7;return formerlySevenDay;}// 本月开始第一天零点的时间戳case "thisMonthBeginZero": {let MonthDate: any = new Date();MonthDate.setDate(1); //set设置时间MonthDate.setHours(0);MonthDate.setSeconds(0);MonthDate.setMinutes(0);let thisMonthBeginZero = parseInt((MonthDate / 1000).toString());return thisMonthBeginZero;}// 过去30天的时间戳case "formerlyThirtyDays": {let formerlyThirtyDays = nowDate - 86400 * 30;return formerlyThirtyDays;}// 上个月的零点的时间戳case "lastMonthDayZero": {let nowMonthDate: any = new Date();let getMonth = nowMonthDate.getMonth() + 1;nowMonthDate.setMonth(getMonth - 2);nowMonthDate.setDate(1); //set设置时间nowMonthDate.setHours(0);nowMonthDate.setSeconds(0);nowMonthDate.setMinutes(0);let lastMonthDayZero = parseInt((nowMonthDate / 1000).toString());return lastMonthDayZero;}// 今年开始第一天零点的时间戳case "thisYearDayZero": {let yearDate: any = new Date();yearDate.setMonth(0);yearDate.setDate(1); //set设置时间yearDate.setHours(0);yearDate.setSeconds(0);yearDate.setMinutes(0);let thisYearDayZero = parseInt((yearDate / 1000).toString());return thisYearDayZero;}// 过去12个月的时间戳case "formerlyTwelveYearZero": {let now12Date: any = new Date();let getYear12 = now12Date.getFullYear();now12Date.setYear(getYear12 - 1);let formerlyTwelveYearZero = parseInt((now12Date / 1000).toString());return formerlyTwelveYearZero;}// 去年开始第一天的时间戳case "lastYearDayZero": {let nowYearDate: any = new Date();let getYear = nowYearDate.getFullYear();nowYearDate.setYear(getYear - 1);nowYearDate.setMonth(0);nowYearDate.setDate(1); //set设置时间nowYearDate.setHours(0);nowYearDate.setSeconds(0);nowYearDate.setMinutes(0);let lastYearDayZero = parseInt((nowYearDate / 1000).toString());return lastYearDayZero;}default: {console.log("时间参数错误");return 0;}}
}

调用getWantTimestamp()方法就能得到需要的时间戳:

getWantTimestamp("nowData")//nowData是switch的判断的参数

 计算当前时间到今晚23:59:59的时间戳:

//当前23:59:59秒时间戳
let today = new Date(new Date().toLocaleDateString()).getTime() + 24*60*60*1000-1
//当前时间戳
let nowDate = parseInt((new Date().getTime()).toString());
//当前时间距离23:59:59秒的时间戳差值
console.log((today - nowDate) / 1000));

动态获取当前年月日时分秒:

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 开始,因此需要加 1const date = currentDateTime.getDate();const hours = currentDateTime.getHours();const minutes = currentDateTime.getMinutes();const seconds = currentDateTime.getSeconds();return (<div><p>当前年月日: {year}-{month < 10 ? `0${month}` : month}-{date}</p><p>当前时分秒: {hours}:{minutes < 10 ? `0${minutes}` : minutes}:{seconds < 10 ? `0${seconds}` : seconds}</p></div>);
}export default CurrentDateTime;

http://www.lryc.cn/news/172273.html

相关文章:

  • leetcode114 二叉树展开为链表
  • Linux系统上使用SQLite
  • 实现一个超级简单的string类(基于c++)
  • uniapp存值和取值,获取登录凭证 code方法
  • 【SpringCloud微服务全家桶学习笔记-服务调用Ribbon/openFeign】
  • Qt使用I.MX6U开发板上的按键(原理:将电脑键盘方向键↓在Qt中的枚举值与开发板中按键定义的枚举值一致,这样电脑端测试效果就与开发板的一致)
  • C++ RAII在HotSpot VM中的重要应用
  • python随手小练
  • MySQL——函数和流程控制
  • 【Vue3 源码讲解】nextTick
  • 什么是ATR,在聚宽量化平台如何计算ATR
  • Python 爬虫实战之爬淘宝商品并做数据分析
  • Python爬虫-requests.exceptions.SSLError: HTTPSConnectionPool疑难杂症解决(1)
  • 12:STM32---RTC实时时钟
  • 【动态规划刷题 16】最长等差数列 (有难度) 等差数列划分 II - 子序列
  • 【postgresql】替换 mysql 中的ifnull()
  • 单例模式(懒汉式,饿汉式,变体)
  • Java Lambda表达式:简洁且强大的函数式编程工具
  • 开源框架中的责任链模式实践
  • 智能配电系统:保障电力运行安全、可控与高效
  • MySQL学习系列(11)-每天学习10个知识
  • 如何通过Gunicorn和Niginx部署Django
  • C语言 cortex-A7核UART总线实验
  • asp.net C#免费反编译工具ILSpy
  • 演讲实录:DataFun 垂直开发者社区基于指标平台自主洞察北极星指标
  • ffmpeg编译 Error: operand type mismatch for `shr‘
  • 【Windows Server 2012 R2搭建FTP站点】
  • python教程:使用gevent实现高并发并限制最大并发数
  • 借助reCAPTCHA实现JavaScript验证码功能
  • 监控数据的采集方式及原理