精华内容
下载资源
问答
  • 主要介绍了element日历calendar组件上月、今天、下月日历块点击事件及模板源码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • vue关于element日历calendar组件上月、今天、下月日历块点击事件 参考 https://blog.csdn.net/qq493820798/article/details/106858962

    vue关于element日历calendar组件上月、今天、下月、日历块点击事件
    参考
    https://blog.csdn.net/qq493820798/article/details/106858962

    展开全文
  • python任意输入一个月份,输出上月本月下月日历,要求连续 代码 #-*-codeing = utf-8 -*- #@Time : 2020/11/17 23:55 #@Author : 宋俊育 #@File : 任意输入一个月份,输出上月本月下月日历,要求连续.py #@...

    python任意输入一个月份,输出上月本月下月的日历,要求连续

    代码

    #-*-codeing = utf-8 -*-
    #@Time : 2020/11/17 23:55
    #@Author : 宋俊育
    #@File : 任意输入一个月份,输出上月本月下月的日历,要求连续.py
    #@Software : PyCharm
    from datetime import datetime
    
    def drawCalendar(year, month):
        dateday = []
        if month == 1:
            someday = datetime((year - 1), 12, 1)
            firstDay = someday.isoweekday()
            firstD = firstDay;
            for i in range(firstDay):
                dateday.append(" ")
            for i in range(1, 32):
                dateday.append(i)
            for i in range(1, 32):
                dateday.append(i)
            if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
                for i in range(1, 30):
                    dateday.append(i)
            else:
                for i in range(1, 29):
                    dateday.append(i)
        elif month == 12:
            someday = datetime(year, 11, 1)
            firstDay = someday.isoweekday()
            firstD = firstDay;
            for i in range(1, 31):
                dateday.append(i)
            for i in range(1, 32):
                dateday.append(i)
            for i in range(1, 32):
                dateday.append(i)
        else:
            someday = datetime(year, (month - 1), 1)
            firstDay = someday.isoweekday()
            firstD = firstDay;
            for i in range(firstDay):
                dateday.append(" ")
            for j in range((month - 1), (month + 2)):
                if ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0) and j == 2:
                    for i in range(1, 30):
                        dateday.append(i)
                elif j in [1, 3, 5, 7, 8, 10, 12]:
                    for i in range(1, 32):
                        dateday.append(i)
                elif j == 2:
                    for i in range(1, 29):
                        dateday.append(i)
                elif j in [4, 6, 9, 11]:
                    for i in range(1, 31):
                        dateday.append(i)
        print(" Mo    Tu    We    Th    Fr    Sa    Su", end="")
        for i in range(0, len(dateday)):
            print("{0: >3}   ".format(dateday[i]), end="")
            if i % 7 == 0:
                print("")
    
    year = eval(input("请输入年份:"))
    month = eval(input("请输入月份:"))
    drawCalendar(year, month)
    

    运行:

    在这里插入图片描述

    展开全文
  • 辰小白小白最近在写日历模板,项目已经用了element组件,奈何element日历组件官方文档提供的资料实在太少了。所以这里希望有相关开发需要的朋友能够少走一些辰小白踩过的坑。 首先展示一些模板效果图: 这个...

    交流qq群:672373393

    前端项目公开在码云:https://gitee.com/xiao_yulong/noob-admin-ui

    欢迎大家进群讨论!

      辰小白小白最近在写日历模板,项目已经用了element组件,奈何element日历组件官方文档提供的资料实在太少了。所以这里希望有相关开发需要的朋友能够少走一些辰小白踩过的坑。

    首先展示一些模板效果图:

     这个项目的详细介绍可以下辰小白的这篇文章:后端开发的福音,vue+element实现的vue-element-admin前台框架,开箱即用

    下面是日历模板首页源码

    <template>
      <div>
        <el-card class="_calendar">
          <el-container>
            <el-main>
              <el-card>
                <el-calendar v-model="value" :first-day-of-week="7">
                  <!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
                  <template slot="dateCell" slot-scope="{date, data}">
                    <div slot="reference" class="div-Calendar" @click="calendarOnClick(data)">
                      <p :class="data.isSelected ? 'is-selected' : ''">
                        {{ data.day.split('-').slice(1).join('-') }}
                        <i
                          :class="[data.isSelected ?'el-icon-check':'']"
                        ></i>
                        <i v-if="_.indexOf(isArrange, data.day)>0" class="el-icon-s-claim"></i>
                        <!-- <i class="el-icon-coffee-cup"></i> -->
                      </p>
                    </div>
                  </template>
                </el-calendar>
              </el-card>
            </el-main>
    
            <el-aside width="40%" style="overflow: hidden;">
              <el-card>
                <div class="el-calendar__header">
                  <div class="el-calendar__title">排班详情</div>
                  <div class="el-calendar__button-group">
                    <div class="el-button-group">
                      <button
                        type="button"
                        class="el-button el-button--plain el-button--mini"
                        @click="saveOnClick"
                      >
                        <span>新增</span>
                      </button>
                    </div>
                  </div>
                </div>
                <div class="calendar-info">
                  <div style="padding: 15px;">
                    <div role="alert" class="el-alert el-alert--success is-dark" @click="infoOnClick">
                      <i class="el-alert__icon el-icon-success is-big"></i>
                      <div class="el-alert__content">
                        <span class="el-alert__title is-bold">2020-06-19 9:00~11:00</span>
                        <p class="el-alert__description">值班人员:张三、李四、王五</p>
                        <p class="el-alert__description">携带设备:123547、985431、745481</p>
                        <i class="el-alert__closebtn el-icon-close" @click.stop="infoDel"></i>
                      </div>
                    </div>
                    <div role="alert" class="el-alert el-alert--info is-dark" @click="infoOnClick">
                      <i class="el-alert__icon el-icon-info is-big"></i>
                      <div class="el-alert__content">
                        <span class="el-alert__title is-bold">2020-06-19 9:00~11:00(待审核)</span>
                        <p class="el-alert__description">值班人员:张三、李四、王五</p>
                        <p class="el-alert__description">携带设备:123547、985431、745481</p>
                        <i class="el-alert__closebtn el-icon-close"></i>
                      </div>
                    </div>
                    <div role="alert" class="el-alert el-alert--warning is-dark" @click="infoOnClick">
                      <i class="el-alert__icon el-icon-warning is-big"></i>
                      <div class="el-alert__content">
                        <span class="el-alert__title is-bold">警告提示的文案</span>
                        <p class="el-alert__description">文字说明文字说明文字说明文字说明文字说明文字说明</p>
                        <i class="el-alert__closebtn el-icon-close"></i>
                      </div>
                    </div>
                    <div role="alert" class="el-alert el-alert--error is-dark" @click="infoOnClick">
                      <i class="el-alert__icon el-icon-error is-big"></i>
                      <div class="el-alert__content">
                        <span class="el-alert__title is-bold">错误提示的文案</span>
                        <p class="el-alert__description">文字说明文字说明文字说明文字说明文字说明文字说明</p>
                        <i class="el-alert__closebtn el-icon-close"></i>
                      </div>
                    </div>
                  </div>
                </div>
              </el-card>
            </el-aside>
          </el-container>
        </el-card>
        <calendarDrawer ref="calendarDrawer"></calendarDrawer>
        <calendarForm ref="calendarForm"></calendarForm>
      </div>
    </template>
    <script>
    import calendarDrawer from "./calendar-drawer.vue";
    import calendarForm from "./calendar-form.vue";
    export default {
      components: { calendarDrawer, calendarForm },
      data: function() {
        return {
          value: new Date(),
          isArrange: [
            "2020-06-08",
            "2020-06-09",
            "2020-06-10",
            "2020-06-11",
            "2020-06-17",
            "2020-06-18"
          ]
        };
      },
      created: function() {
        this.$nextTick(() => {
          // 点击前一个月
          let prevBtn = document.querySelector(
            ".el-calendar__button-group .el-button-group>button:nth-child(1)"
          );
          prevBtn.addEventListener("click", e => {
            console.log(this.data);
            this.$notify({
              title: "上一月",
              message: "上个月头天:" + this.value,
              type: "success",
              position: "top-left"
            });
          });
    
          //点击下一个月
          let nextBtn = document.querySelector(
            ".el-calendar__button-group .el-button-group>button:nth-child(3)"
          );
          nextBtn.addEventListener("click", () => {
            console.log(this.value);
            this.$notify({
              title: "下一月",
              message: "下个月头天:" + this.value,
              type: "warning",
              position: "top-left"
            });
          });
    
          //点击今天
          let todayBtn = document.querySelector(
            ".el-calendar__button-group .el-button-group>button:nth-child(2)"
          );
          todayBtn.addEventListener("click", () => {
            this.$notify.info({
              title: "今天",
              message: "今天:" + this.value,
              position: "top-left"
            });
          });
        });
      },
      mounted: function() {},
      methods: {
        //点击日期块
        calendarOnClick(e) {
          console.log(e);
          // this.isArrange.push("2020-06-19");
          this.$notify.error({
            title: "日历块点击",
            message: e,
            position: "top-left"
          });
        },
        //点击信息块
        infoOnClick() {
          this.$refs.calendarDrawer.drawer = true;
        },
        //新增排班
        saveOnClick() {
          this.$refs.calendarForm.dialogFormVisible = true;
        },
        //删除排班
        infoDel() {
          this.$confirm("此操作将永久删除该排班, 是否继续?", "提示", {
            confirmButtonText: "确定",
            cancelButtonText: "取消",
            type: "warning"
          })
            .then(() => {
              this.$message({
                type: "success",
                message: "删除成功!"
              });
            })
            .catch(() => {
              this.$message({
                type: "info",
                message: "已取消删除"
              });
            });
        }
      }
    };
    </script>
    <style scoped>
    .is-selected {
      color: #1989fa;
    }
    .p-popover {
      text-align: center;
    }
    ._calendar {
      height: 99.5%;
      width: 100%;
    }
    .el-main {
      padding: 0px;
      overflow: hidden;
    }
    .calendar-info {
      height: 94%;
      overflow: auto;
    }
    .el-alert {
      margin: 15px 0px;
    }
    .el-alert:hover {
      transform: scale(1.02);
    }
    .el-alert:active {
      transform: scale(1.01);
    }
    </style>
    <style >
    ._calendar .div-Calendar {
      height: 125px;
      box-sizing: border-box;
      padding: 8px;
    }
    ._calendar .el-calendar-table .el-calendar-day {
      padding: 0px;
      height: 125px;
    }
    ._calendar .el-container,
    ._calendar .el-calendar {
      height: 100%;
    }
    ._calendar .el-card__body {
      padding: 0px;
    }
    </style>

     具体的几个点击事件都有备注,这里不细说了

     

    展开全文
  • 上月 下月的 action /** * 上一月 */ public String prevMonthSchedule() throws Exception { Calendar now = Calendar.getInstance(); if (currentDay != null) { try { now.setTime(new...

     

    主要就是利用 java的Calendar 类

     

     

    传入一个 参数 如yyyyMMdd 20101201 这样的参数

     

    然后找到 月 的第一天 和 月的最后一天 进行循环。

     

    将循环放到 星期数组里面 传到页面。

     

    	
            private String currentDay;
    	private String currentMonth;
    	private List<String[]> weeksOfMonth;
    
    	/**
    	 * 分页.查询.排序.
    	 */
    	public String listSchedule() throws Exception {
    		Calendar now = Calendar.getInstance();
    		if (currentDay != null) {
    			try {
    				now.setTime(new SimpleDateFormat("yyyyMMdd")
    						.parse(currentDay));
    			} catch (Exception e) {
    
    			}
    		}
    		Calendar dateFirst = Calendar.getInstance();
    		dateFirst.set(Calendar.YEAR, now.get(Calendar.YEAR));
    		dateFirst.set(Calendar.MONTH, now.get(Calendar.MONTH));
    		dateFirst.set(Calendar.DATE, 1);
    		//将当前天和当前月设置值
    		currentDay = new SimpleDateFormat("yyyyMMdd").format(now.getTime());
    		currentMonth = new SimpleDateFormat("yyyyMM").format(now.getTime());
    
    		List<String> daysOfMonth = new ArrayList<String>();// 变量放日期
    		weeksOfMonth = new ArrayList<String[]>();// 转换成的星期
    		for (int i = 1; i < ((dateFirst.get(Calendar.DAY_OF_WEEK)+5)%7); i++) {// 添加1号前面的空格
    			daysOfMonth.add("");
    		}
    		for (int i = 1; i <= now.getActualMaximum(Calendar.DATE); i++) {
    			//now.getActualMaximum(Calendar.DATE)获得当月天数
    			daysOfMonth.add(i + "");// 添加月下面的日期
    		}
    		for (int i = daysOfMonth.size(); i < 6 * 7; i++) {
    			daysOfMonth.add("");// 添加月末后面的空格
    		}
    		for (int j = 0; j < daysOfMonth.size(); j = j + 7) {// 将数组转换成星期放到list里面
    			String[] week = new String[7];
    			int index = 0;
    			week[index] = daysOfMonth.get(j + index++);// 星期一
    			week[index] = daysOfMonth.get(j + index++);// 星期二
    			week[index] = daysOfMonth.get(j + index++);// 星期三
    			week[index] = daysOfMonth.get(j + index++);// 星期四
    			week[index] = daysOfMonth.get(j + index++);// 星期五
    			week[index] = daysOfMonth.get(j + index++);// 星期六
    			week[index] = daysOfMonth.get(j + index++);// 星期日
    			weeksOfMonth.add(week);
    		}
    		return SUCCESS;
    	}

     这里有个问题

     

    (dateFirst.get(Calendar.DAY_OF_WEEK)+5)%7)

     

    本来 用

    DAY_OF_WEEK

    就可以获得星期,可是星期是从 周日开始的。想从周一开始就得 向后挪 5

     

    在页面显示

     

    <s:iterator value="weeksOfMonth" status="status" id="week">
    		<fs:gridPanelDataTable4Date index="${status.index}">
    			<fs:gridPanelDataColumn4Date width="6" height="40">&nbsp;</fs:gridPanelDataColumn4Date>
    			<s:iterator begin="0" end="6" step="1" id="index"><!-- 进行星期的7天循环 -->
    				<s:if test="${index} == 5 || ${index} == 6"><!-- 判断是否是周六,周日换背景为黄色 -->
    					<fs:gridPanelDataColumn4Date width="100" height="40" style="background-color: #ffffcc;">
    						<span class="scheduleDateWeekendDiv"><s:property value="${week[index]}"/></span>
    						<s:if test="${week[index]} != ''">
    						<a href="javaScript:showScheduleViewDiv('${currentMonth}<s:if test="${week[index]} < 10 ">0${week[index]}</s:if><s:else>${week[index]}</s:else>');">编辑</a>
    						<a href="${ctx}/addUserInfo.action?id=<s:property value="id"/>">查看</a>
    						</s:if>
    					</fs:gridPanelDataColumn4Date>
    				</s:if>
    				<s:else>
    					<fs:gridPanelDataColumn4Date width="100" height="40">
    						<span class="scheduleDateWeekendDiv"><s:property value="${week[index]}"/></span>
    						<s:if test="${week[index]} != ''">
    						<a href="javaScript:showScheduleViewDiv('${currentMonth}<s:if test="${week[index]} < 10 ">0${week[index]}</s:if><s:else>${week[index]}</s:else>');">编辑</a>
    						<a href="${ctx}/addUserInfo.action?id=<s:property value="id"/>">查看</a>
    						</s:if>
    					</fs:gridPanelDataColumn4Date>
    				</s:else>
    			</s:iterator>
    		</fs:gridPanelDataTable4Date>
    	</s:iterator>

     

    其中用到了一些自己封装的 标签。

     

    效果图:


     

    上月 下月的 action

    /**
    	 * 上一月
    	 */
    	public String prevMonthSchedule() throws Exception {
    		Calendar now = Calendar.getInstance();
    		if (currentDay != null) {
    			try {
    				now.setTime(new SimpleDateFormat("yyyyMMdd")
    						.parse(currentDay));
    			} catch (Exception e) {
    
    			}
    		}
    		now.set(Calendar.MONTH, now.get(Calendar.MONTH) - 1);
    		currentDay = new SimpleDateFormat("yyyyMMdd").format(now.getTime());
    		System.out.println("currentDay:" + currentDay);
    		return SUCCESS;
    	}
    
    	/**
    	 * 下一月
    	 */
    	public String nextMonthSchedule() throws Exception {
    		Calendar now = Calendar.getInstance();
    		if (currentDay != null) {
    			try {
    				now.setTime(new SimpleDateFormat("yyyyMMdd")
    						.parse(currentDay));
    			} catch (Exception e) {
    
    			}
    		}
    		now.set(Calendar.MONTH, now.get(Calendar.MONTH) + 1);
    		currentDay = new SimpleDateFormat("yyyyMMdd").format(now.getTime());
    		System.out.println("currentDay:" + currentDay);
    		return SUCCESS;
    	}

     

     

    源代码 和 oa 放到一起了

    demo:

    http://freeweboa.appspot.com/index.html

    里面的日程管理

    下载地址:

     

    http://code.google.com/p/freewebsys/downloads/list

     

    • 67fb864f-27f2-3ffc-b499-091e55286872-thumb.jpeg
    • 大小: 63.6 KB
    展开全文
  • 仿魅族日历,乐视日历,小米日历等效果,上部日历,下部列表展示日程安排等信息,向上滑动,日历收缩至一周显示,下拉展开正月显示。点击灰色日期(上月或下月日期)自动跳转至对应的月份。
  • 日历

    2018-01-07 16:28:05
    日历 a { /** 去掉下划线 **/ text-decoration:none } #YMDbox { position:absolute; width : 320px; } #prevMonth { float : left; margin : 1px; width : 40px; height : 40px; } #now_ymd { ...
  • 本代码将实现以下样式及功能:日历标题背景色、日历标题字体色、日历背景色、日历字体色、假日字体色、背景水印色、是否显示上月和下月的日期,感兴趣的朋友可以了解下哈
  • 想了解vue实现钉钉的考勤日历的相关内容吗,张张张立宏在本文为您仔细讲解vue钉钉考勤日历的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:vue钉钉考勤日历,vue钉钉考勤,vue考勤日历,下面大家一起来学习...
  • Wpf日历控件

    2017-04-12 17:15:54
    给单位做个小程序,需要日历中显示字符串,自己做了个WPF日历控件。完整源码,不多,略乱,自看。 按月显示,有公立和农历日期,农历的计算使用了网上找到的代码,在此感谢。 只做了按钮上月下月切换,没有做月和年...
  • 手写vue日历控件过程

    千次阅读 2019-02-11 21:23:22
    之前项目中有用到日历控件,当时由于时间问题,是在网上找到一个demo,然后二次开发的,从那时就想着自己写一个日历控件。这篇文章说明日历数据的处理,去除月份天数判断以及是否闰年判断。   设计(以最常用的按...
  • iOS 日历开发功能

    2021-01-11 17:07:42
    日历基本功能都有、上下月动画显示、查看上月、查看下月、点击按钮返回今日、设置筛选日期跳转到当前设置年月日、显示当前年月日及选中的多少周
  • 移动端日历

    千次阅读 2016-11-09 14:33:02
    只是一个初步的简单的日历,有是否显示上月和下月部分的选项 移动端日历 table{ width: 100%; border-collapse: collapse; } td { padding: 0; margin: 0; vertical-align: ...
  • CalendarForAndroid(日历)

    2012-12-15 23:55:52
    手机日历程序 可以查看 下月 上月 本月 星期 希望对喜欢android有帮助
  • JavaScript日历

    2017-09-12 19:36:54
    最近在看CSS的书的时候,其中有一个示例是一个日历。于是想到要使用JavaScript写一个简单的日历,能够实现上一月,下一月的功能。我就写了一个,代码量不大,容易理解,只要弄懂了基本原理,大家可以在此基础上自由...
  • 日历控件

    2019-10-06 10:49:15
    这个日历控件可以灵活的应用到pc/wap站,可以选择下拉加载更多月份/点击左右按钮切换上月下月/可以固定的显示json数据中相应的月份 html <div class="calendar-con"> <div class="calendar"> ...
  • ios-日历.zip

    2019-07-11 18:21:17
    日历基本功能都有、上下月动画显示、查看上月、查看下月、点击按钮返回今日、设置筛选日期跳转到当前设置年月日、显示当前年月日及选中的多少周。
  • android实现日历

    千次阅读 2016-06-16 13:33:11
    日历的实现近期由于工作需要,对以前的日历控件进行重构和加强。 日历总体使用PopupWindow实现,日历view通过popupWindow.setContentView实现。原有日历使用的view为单一的view(FrameLayout:calendarView),在...
  • 安卓日历

    2017-07-22 09:35:42
    最近写了一款日历,包含周日历、月日历以及滑动切换视图,先上效果图: 代码已上传到github:https://github.com/yannecer/NCalendar  项目主要用到了自定义View,ViewPager,RecyclerView和Ne
  • jQuery日历

    2012-10-23 12:45:44
    首先下载jquery ui, 然后将以下文件导入工程中,然后导入在jquery ui中与css文件同一个根目录下的images文件夹,将images文件夹与...这时单击文本框就可以弹出日历框,不过是英文的,下面汉化: $( "#datep
  • vue 日历

    千次阅读 2017-09-26 14:43:48
      html   &lt;div&gt; &lt;input type="text" @click="openByDialog" :value="calendar.display" ref='time' readonly="readonly"...calend

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,552
精华内容 620
关键字:

下月日历