【js组件】date日期显示。

22 篇文章 0 订阅

 日期组件,会随着时间变化。实现代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    body{
      background-color: black;
      color: white;
    }

    .KatyLightTimeBox{
      color: #00ff95;
      font-size: 2rem;
      font-weight: bolder;
    }
    .KatyLightTimeBox>.time{
      margin-left: 1rem;
    }
  </style>
  <script>
    class KatyLightTimeBox{
      constructor(params) {
        this.target=params.target;
        let date=new Date();
        let year=date.getFullYear();
        let mouth=date.getMonth()+1;
        let d=date.getDate();
        let h=date.getHours();
        let m=date.getMinutes();
        let s=date.getSeconds();
        this.timeSpan=this.target.querySelector('.time')

        this.dateSpan=this.target.querySelector('.date')

        this.data=[
          year,mouth,d,h,m,s
        ]
        this.dateSpan.innerText=this.dateFormat();
         this.run()
       }
      run(){
        setInterval(()=>{
          let cc=false;
          this.data[5]++;
          if(this.data[5]>=60){
            this.data[5]=0;
            this.data[4]++
          }
          if(this.data[4]>=60){
            this.data[4]=0;
            this.data[3]++
          }
          if(this.data[3]>=24){
            this.data[3]=0;
            this.data[2]++
            cc=true;
          }
          this.timeSpan.innerText=this.timeFormat();
          if(!cc){
            return;
          }
          let max=30;
          if(this.data[1]<8){
            if(this.data[1]%2===0){
              if(this.data[1]===2){
                if(this.data[0]%400===0||(this.data[0]%4===0&&this.data[0]%100!==0)){
                  max=29
                }else{
                  max=28
                }
              }else{
                max=30
              }
            }else{
              max=31
            }
          }else{
            if(this.data[1]%2===0){
              max=31
            }else{
              max=30
            }
          }
          if(this.data[2]>max){
            this.data[2]=0;
            this.data[1]++;
          }
          if(this.data[1]>12){
            this.data[1]=1;
            this.data[0]++;
          }
          this.dateSpan.innerText=this.dateFormat();
        },1000)
      }
      dateFormat(){
        let s=this.data[0].toString();

        let m=this.data[1].toString();
        if(m.length<2){
          m="0"+m;
        }
        let h=this.data[2].toString();
        if(h.length<2){
          h="0"+h;
        }
        return h+"."+m+"."+s
      }
      timeFormat(){
        let s=this.data[5].toString();
        if(s.length<2){
          s="0"+s;
        }
        let m=this.data[4].toString();
        if(m.length<2){
          m="0"+m;
        }
        let h=this.data[3].toString();
        if(h.length<2){
          h="0"+h;
        }
        return h+":"+m+":"+s
      }
    }
window.onload=()=>{
  new KatyLightTimeBox({
    target:document.querySelector('.KatyLightTimeBox')
  })
}
  </script>
</head>
<body>
<div class="KatyLightTimeBox"><span class="date">2012.12.21</span><span class="time">12:00:00</span></div>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
el-date-picker是Element UI库中的一个日期选择器组件,用于在网页中选择日期。要指定日期显示标志,可以使用特定的属性和插槽。 一种常见的方式是使用`disabled-date`属性来指定禁用的日期,这样在日期选择器中会以不同的样式显示。例如,可以通过设置一个函数来禁用特定的日期,如下所示: ```html <el-date-picker v-model="date" :disabled-date="disabledDate" ></el-date-picker> ``` ```javascript data() { return { date: null }; }, methods: { disabledDate(time) { // 在这里编写禁用日期的逻辑 // 返回true表示禁用该日期,返回false表示启用该日期 // 例如,禁用所有周末的日期: return time.getDay() === 0 || time.getDay() === 6; } } ``` 另一种方式是使用`picker-options`属性来自定义日期单元格的内容。可以通过设置一个对象来指定自定义的渲染函数,如下所示: ```html <el-date-picker v-model="date" :picker-options="pickerOptions" ></el-date-picker> ``` ```javascript data() { return { date: null, pickerOptions: { disabledDate: (time) => { // 在这里编写禁用日期的逻辑 // 返回true表示禁用该日期,返回false表示启用该日期 // 例如,禁用所有周末的日期: return time.getDay() === 0 || time.getDay() === 6; }, cellClassName: (date) => { // 在这里编写自定义日期单元格的样式逻辑 // 返回一个字符串,表示该日期单元格的样式类名 // 例如,给特定日期添加一个自定义样式类: if (date.getDate() === 1 && date.getMonth() === 0) { return 'special-date'; } return ''; } } }; } ``` 以上是两种常见的方式来指定日期显示标志。你可以根据具体需求选择其中一种或结合使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值