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

这篇具有很好参考价值的文章主要介绍了JavaScript 获取时间范围(当天,本月(30天间隔),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

使用

以下示例代码来自官方,可直接在官方地址查看文章来源地址https://www.toymoban.com/news/detail-401446.html

日期格式化

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

到了这里,关于JavaScript 获取时间范围(当天,本月(30天间隔),momentJS基本使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包