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

JavaScript 获取时间范围(当天,本月(30天间隔),momentJS基本使用)

文章目录

  • 获取从今天0点到现在的时间范围
  • 获取今天到前一个月的时间范围
  • momentJS(第三方库)
    • 安装
    • 使用
      • 日期格式化
      • 相对时间
      • 日历时间
      • 多语言支持

获取从今天0点到现在的时间范围

这个比较简单,直接把同一天的时间数都换成0即可

const getNowDate = (isGetDate = false) => {
  let now = new Date();
  let y = now.getFullYear();
  let m = now.getMonth() + 1;
  let d = now.getDate();
  let h = now.getHours();
  let min = now.getMinutes();
  let s = now.getSeconds();
  m = m >= 10 ? m : '0' + m
  d = d >= 10 ? d : '0' + d
  h = h >= 10 ? h : '0' + h
  min = min >= 10 ? min : '0' + min
  s = s >= 10 ? s : '0' + s
  if (isGetDate) {
    return `${y}-${m}-${d} 00:00:00`;
  } else {
    return `${y}-${m}-${d} ${h}:${min}:${s}`;
  }
};
console.log(getTodayDuration(true))
console.log(getTodayDuration())

获取今天到前一个月的时间范围

这里也简单的,直接用时间戳来转换就可以了啦

const getMonthDuration = (isToday = false) => {
  let now = new Date();
  let y = now.getFullYear();
  let m = now.getMonth() + 1;
  let d = now.getDate();
  let h = now.getHours();
  let min = now.getMinutes();
  let s = now.getSeconds();
  m = m >= 10 ? m : '0' + m
  d = d >= 10 ? d : '0' + d
  h = h >= 10 ? h : '0' + h
  min = min >= 10 ? min : '0' + min
  s = s >= 10 ? s : '0' + s
  let today = `${y}-${m}-${d} ${h}:${min}:${s}`;
  if (isToday) {
    return today;
  } else {
    let stampTime = new Date(today).getTime() - (30 * 24 * 3600 * 1000)
    let prveStamp = new Date(stampTime);
    let prveMonth = prveStamp.getMonth() + 1;
    let prveDate = prveStamp.getDate();
    let year = prveStamp.getFullYear();
    prveMonth = prveMonth >= 10 ? prveMonth : '0' + prveMonth
    prveDate = prveDate >= 10 ? prveDate : '0' + prveDate
    return `${year}-${prveMonth}-${prveDate} ${h}:${min}:${s}`
  }
}
console.log(getMonthDuration(true));
console.log(getMonthDuration());

momentJS(第三方库)

以上两个方式是自己写的,如果需要也可以使用第三方库,项目中采用的也比较多

momentJS官方API地址:http://momentjs.cn/

安装

npm install moment --save   # npm
yarn add moment             # Yarn

使用

以下示例代码来自官方,可直接在官方地址查看

日期格式化

moment().format('MMMM Do YYYY, h:mm:ss a'); // 三月 29日 2023, 3:30:46 下午
moment().format('dddd');                    // 星期三
moment().format("MMM Do YY");               // 3月 29日 23
moment().format('YYYY [escaped] YYYY');     // 2023 escaped 2023
moment().format();  

相对时间

moment("20111031", "YYYYMMDD").fromNow(); // 11 年前
moment("20120620", "YYYYMMDD").fromNow(); // 11 年前
moment().startOf('day').fromNow();        // 16 小时前
moment().endOf('day').fromNow();          // 8 小时内
moment().startOf('hour').fromNow();       // 31 分钟前

日历时间

moment().subtract(10, 'days').calendar(); // 2023/03/19
moment().subtract(6, 'days').calendar();  // 上星期四15:30
moment().subtract(3, 'days').calendar();  // 上星期日15:30
moment().subtract(1, 'days').calendar();  // 昨天15:30
moment().calendar();                      // 今天15:30
moment().add(1, 'days').calendar();       // 明天15:30
moment().add(3, 'days').calendar();       // 下星期六15:30
moment().add(10, 'days').calendar();      // 2023/04/08

多语言支持

moment.locale();         // zh-cn
moment().format('LT');   // 15:30
moment().format('LTS');  // 15:30:46
moment().format('L');    // 2023/03/29
moment().format('l');    // 2023/3/29
moment().format('LL');   // 2023年3月29日
moment().format('ll');   // 2023年3月29日
moment().format('LLL');  // 2023年3月29日下午3点30分
moment().format('lll');  // 2023年3月29日 15:30
moment().format('LLLL'); // 2023年3月29日星期三下午3点30分
moment().format('llll'); // 2023年3月29日星期三 15:30

http://www.kler.cn/a/6218.html

相关文章:

  • 电子电气架构 --- 汽车电子电器设计概述
  • 头歌实训1-1:面向过程编程-基础部分
  • 小程序租赁系统开发的优势与应用探索
  • python修改ppt中的文字部分及插入图片
  • Navicat 17 功能简介 | 比较模型工作区
  • C语言 练习
  • 【EHub_tx1_tx2_E100】 WLR-720多线激光 雷达在Ubuntu18.04 + ROS_ Melodic 环境评测
  • Linux之父:连你自己都懒得解释,那这就是一堆垃圾!
  • 【大数据安全-Kerberos】一篇文章搞定Kerberos认证
  • 对于Redis的学习-Redis单线程
  • Win10 升级到 XP 系统,精简养老还能流畅扫雷
  • Android---Jetpack之DataBinding
  • 使用Hackintool修复通用帧缓存区(帧缓冲区) 指南
  • 计及需求侧响应日前、日内两阶段鲁棒备用优化【IEEE6节点】(Matlab代码实现)
  • (排序3)希尔排序时间复杂度与直接选择排序
  • 通过CPU主频,我们来谈谈“性能”,CPI 是什么?
  • Spring原理学习(二):Bean的生命周期和Bean后处理器
  • Alibaba商品详情API接口
  • 反转字符串II(力扣刷题)
  • 【C语言学习】C语言初探
  • SpringBoot定时任务——利用注解实现
  • 谷粒商城-redis分布式锁系列
  • Linux环境变量、Linux自定义设置环境变量
  • 核心 Android 调节音量的过程
  • 关于层序遍历的九道题
  • Linux命令·wc