昨天、今天、明天的写法

最近再试着玩的时候发现了网上一个组件(获取农历)具体如下:

下载组件 chinese-lunar-calendar

1.npm install --save chinese-lunar-calendar

 这样就可以再需要的页面引用了,具体如下:

<script>
import { getLunar } from 'chinese-lunar-calendar'
export default {
  data() {
    return {
		getLunarDay: '',
		year: new Date().getFullYear(),
      	month: new Date().getMonth() + 1,
      	date: new Date().getDate()
    }
  },
  mounted() {
	// 获取农历
    this.getLunarDay = getLunar(this.year, this.month, this.date)
    console.log(this.getLunarDay)
  }
}
</script>

上方转自:https://blog.csdn.net/weixin_44483624/article/details/115455486

输出什么的点击原文链接就可以看的到,当然,通过这个就能得到当天的农历日期,但是我想做的是一个这样的

外边是阳历几号 (获取当前日期后通过slice分割出来)括号内是农历日期;

思前想后决定封装两个方法 beforeTime (昨天) afterTime(明天),再将获取到当天日期的天数传进去  beforeDay是往前几天(由于写了一个前天   昨天  今天 新加的,后边没要,就简单修改了一下)代码如下:

//昨天
 beforeTime(year, month, day,beforeDay) {
      if (day-beforeDay < 1  ) {
        
      // if (day == 1) {
        month--;
        if (month == 0) {
          month = 12;
          year--;
        }
        if (
          month == 1 ||
          month == 3 ||
          month == 5 ||
          month == 7 ||
          month == 8 ||
          month == 10 ||
          month == 12
        ) {
          day = day-beforeDay+31;
          
        } else if (month == 4 || month == 6 || month == 9 || month == 11) {
          day = day-beforeDay+30;
          //  month--
        } else if (month == 2) {
          if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
            day = day-beforeDay+29;
          } else {
            day =day-beforeDay+28;
            // day = 28-beforeDay+day
          }
        }
      // }
    }
       else{
          day -= beforeDay
        }
        return { year, month, day};
      },


//明天
afterTime(year, month, day) {
      if (
        month == 1 ||
        month == 3 ||
        month == 5 ||
        month == 7 ||
        month == 8 ||
        month == 10 ||
        month == 12
      ) {
        if (day == 31) {
          day = 1;
          if (month == 12) {
            month = 1;
            year++;
          } else {
            month++;
          }
        } else {
          day++;
        }
      } else if (month == 4 || month == 6 || month == 9 || month == 11) {
        if (day == 30) {
          day = 1;
          month++;
        } else {
          day++;
        }
      } else if (month == 2) {
        if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
          if (day == 29) {
            day = 1;
            month++;
          } else {
            day++;
          }
        } else {
          if (day == 28) {
            day = 1;
            month++;
          } else {
            day++;
          }
        }
      }
      return { year, month, day };
    },

到这个地方就基本完成了   接下来就是获取赋值分割字符串在拼接一下,具体看代码(明天):

 // 明天
    let oldDateTime = this.afterTime(year, month + 1, day);
    this.fea_day = oldDateTime.day;
    this.getLunarFea = getLunar( oldDateTime.year, oldDateTime.month, oldDateTime.day);
     var fea_lunar = this.getLunarFea.dateStr;
    this.lunar_fea = fea_lunar.slice(2);

 拼接字符串:

  <el-tab-pane :label="fea_day + '(' + lunar_fea + ')'">

最后效果就实现了。虽然简单,但还是有记录的成就感!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值