在线制作作息时间表

news2025/3/14 23:11:17

时光荏苒,岁月如梭,人们描述时光易逝的句子,多如星河。
一寸光阴一寸金,寸金难买寸光阴。
人生就是一段时间而已,所以我明白了一个道理
人生之中最大的浪费就是时间的浪费
因此我想我们教给我们孩子重要的一课应该也是关于时间的
如何规划好自己的时间便决定了你拥有怎么样的生活,
和更多期待未来的可能性。

时间如此重要,所以我们要做好规划,莫让时光空流逝
带着这样的初衷我开发了这样一个帮助制作作息时间表的网页工具
百闻不如一见,让我们展示一下这个工具的样貌:

 百见不如一试,让我们在线体验一下这个工具下面是体验地址

在线作息时间表 | 工具星球 (toolxq.com)icon-default.png?t=N6B9http://schedule.toolxq.com/

劝君莫惜金缕衣,
劝君惜取少年时。
花开堪折直须折,
莫待无花空折枝。

再给大家推荐一些关于时间的美妙文字

最是人间留不住,朱颜辞镜花辞树。 ——王国维《蝶恋花》
梦短梦长俱是梦,年来年去是何年。 ——《牡丹亭》
今年海角天涯,萧萧两鬓生华。 ——李清照《清平乐·年年雪里》
流光容易把人抛,红了樱桃,绿了芭蕉。 ——蒋捷《一剪梅·舟过吴江》
岁月骛过,山陵浸远。 ——《后汉书》
窗外日光弹指过,席间花影坐前移。 ——施耐庵《水浒传》
时光只解催人老,不信多情。长恨离亭。泪滴春衫酒易醒。 ——晏殊《采桑子·时光只解催人老》
岁月不居,时节如流。 ——孔融的《论盛孝章书》
年往迅劲矢,时来亮急弦。 ——陆机《长歌行》
人世光阴花上露。 ——马浩澜《青玉案》

下面是一些相关代码的分享,希望对大家有所帮助

new Vue({
  el: '#app',
  data: () => ({
    events: [],
    eventsSave: []
  }),
  mounted() {
    let _this = this;
    /*_this.$refs.vuecal.createEvent(
      // Formatted start date and time or JavaScript Date object.
      '2023-08-16 13:15',
      // Event duration in minutes (Integer).
      120,
      // Custom event props (optional).
      { title: 'New Event', content: 'yay!', class: 'blue-event' }
    )*/

    /*_this.$refs.vuecal.createEvent({
        start: '2023-08-16 13:15', // Starting from the cursor position in the clicked day cell.
        end: '2023-08-16 15:15', // Event start + 2 hours.
        title: '33',
        content: ''
      }
    )*/

    let eventsJson = window.localStorage.getItem("events");
    let eventArr = [];
    if (eventsJson) {
      let eventsSave = JSON.parse(eventsJson);
      for (let i = 0; i < eventsSave.length; i++) {
        let eventi = eventsSave[i];
        console.log(eventi)
        let start = this.formatDateTime(new Date(eventi.start))
        let end = this.formatDateTime(new Date(eventi.end))
        let eventClean = {
          start: start,
          end: end,
          title: eventi.title
        }
        eventArr.push(eventClean)
      }

      // this.events = JSON.parse(eventsJson);
    }
    this.events = eventArr;
    /*this.events = [
      {
        start: '2023-08-16 10:35',
        end: '2023-08-16 11:30',
        title: 'Doctor appointment'
      },
      {
        start: '2023-08-16 18:30',
        end: '2023-08-16 19:15',
        title: 'Dentist appointment'
      }
    ]*/
  },
  methods: {
    async downloadImage() {
      const body = document.body;
      const html = document.documentElement;

      const fullHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);

      const canvas = document.createElement('canvas');
      canvas.width = window.innerWidth;
      canvas.height = fullHeight;

      const context = canvas.getContext('2d');
      let yOffset = 0;

      const captureAndDraw = async () => {
        const capture = await html2canvas(document.body, { windowWidth: window.innerWidth, windowHeight: window.innerHeight, y: yOffset });
        context.drawImage(capture, 0, yOffset);
        yOffset += window.innerHeight;

        if (yOffset < fullHeight) {
          window.scrollTo(0, yOffset);
          setTimeout(captureAndDraw, 100); // Add a delay to ensure content updates and rendering
        } else {
          const imageURL = canvas.toDataURL('image/png');
          const link = document.createElement('a');
          link.href = imageURL;
          link.download = 'full-page-scrollable-screenshot.png';
          link.click();
        }
      };

      captureAndDraw();
    },
    onEventCreate(event, deleteEventFunction) {
      // console.log(event);
      this.selectedEvent = event
      this.showEventCreationDialog = true
      this.deleteEventFunction = deleteEventFunction

      // console.log(this.$refs.vuecal);

      return event
    },
    logEvents(name, event) {
      console.log(name);
      console.log(this.events);
      console.log(event);
    },
    eventDelete(name, event) {
      console.log(event);
      const index = this.eventsSave.indexOf(event);
      if (index !== -1) {
        this.eventsSave.splice(index, 1);
      }
    },
    eventChange(name, event) {
      console.log(name)
      /*console.log(event);
      let curEvent = event.event;
      let oriEvent = event.originalEvent
      // const index = this.eventsSave.indexOf(oriEvent);
      if (oriEvent) {
        const index = this.eventsSave.findIndex(item => item._eid === oriEvent._eid);
        if (index !== -1) {
          this.eventsSave.splice(index, 1);
        }
      }
      this.eventsSave.push(curEvent);
      console.log(this.eventsSave);*/
      window.localStorage.setItem("events", JSON.stringify(this.$refs.vuecal.view.events));
    },
    customEventCreation() {
      this.$refs.vuecal.createEvent(
        // Formatted start date and time or JavaScript Date object.
        '2023-08-16 13:15',
        // Event duration in minutes (Integer).
        120,
        // Custom event props (optional).
        { title: 'New Event', content: 'yay! 🎉', class: 'blue-event' }
      )
      const dateTime = prompt('Create event on (YYYY-MM-DD HH:mm)', '2023-08-15 13:15')

      // Check if date format is correct before creating event.
      if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(dateTime)) {
        this.$refs.vuecal.createEvent(
          // Formatted start date and time or JavaScript Date object.
          dateTime,
          // Event duration in minutes (Integer).
          120,
          // Custom event props (optional).
          { title: 'New Event', content: 'yay! 🎉', class: 'blue-event' }
        )
      } else if (dateTime) alert('Wrong date format.')
    },
    formatDateTime(date) {
      const year = date.getFullYear();
      const month = String(date.getMonth() + 1).padStart(2, '0');
      const day = String(date.getDate()).padStart(2, '0');
      const hours = String(date.getHours()).padStart(2, '0');
      const minutes = String(date.getMinutes()).padStart(2, '0');

      const formattedDate = `${year}-${month}-${day} ${hours}:${minutes}`;
      return formattedDate;
    }
  }
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/943638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PMO的秘密武器:项目评估与审计机制的深度解析

引言&#xff1a;PMO的核心价值与挑战 项目管理办公室&#xff08;PMO&#xff09;在组织中的角色日益重要。它是组织中的一个关键部门&#xff0c;负责确保项目的顺利进行&#xff0c;并确保项目与组织的整体战略保持一致。但与此同时&#xff0c;PMO也面临着许多挑战。其中最…

1.6 编写双管道ShellCode

本文将介绍如何将CMD绑定到双向管道上&#xff0c;这是一种常用的黑客反弹技巧&#xff0c;可以让用户在命令行界面下与其他程序进行交互&#xff0c;我们将从创建管道、启动进程、传输数据等方面对这个功能进行详细讲解。此外&#xff0c;本文还将通过使用汇编语言一步步来实现…

【WINAPI】文件读写操作问题

问题描述 在利用WINAPI中的WriteFile和ReadFile函数进行文件读写操作时&#xff0c;出现无法正常读写文件报错。 分析问题 查阅WINAPI源码&#xff0c;查看参数列表各个参数的数据类型。 发现其中第二个参数&#xff0c;也就是需要写进文件的真实数据&#xff0c;其数据类型…

Google Play商店优化排名因素之应用的评分评论

下载次数是应用程序受欢迎程度的指标&#xff0c;Google在对我们的应用程序进行排名时也会将其考虑在内。评级和评论会影响应用程序的转化率&#xff0c;因为许多用户在做出决定之前会根据平均评级或最近的评论来评估我们的应用程序。 1、评级的重要性。 如果我们的应用程序有…

安卓版yolo-fastest

安卓版本yolofastest效果测试 安卓配置OPENCV4ANDROID&#xff0c;见我的博客一篇文章opencv4dandroid配置 这个不需要使用JNI&#xff0c;十分简单的配置 说真的&#xff0c;其实只调用OPENCV的函数&#xff0c;自己写的代码不多&#xff0c;使用OPENCV4ANDROID和JNI的时间差…

im6ull-uboot(2021.07)移植(一)

文章目录 声明1 获取源码1.1 从u-boot官网获取1.2 从芯片厂商获取1.3 从开发板厂商获取 2 修改顶层Makefile3 xxx_defconfig配置文件3.1 拷贝生成自己的配置文件3.2 修改defconfig文件3.2.1 查看defconfig文件3.2.2 修改defconfig文件 3.3 添加其他配置文件3.3.1 添加配置头文件…

深入了解电商API的历史和业务场景

在数字时代&#xff0c;电子商务的兴起改变了传统的商业模式&#xff0c;使得商品和服务的交易变得更加便捷和高效。作为电子商务的重要组成部分&#xff0c;电商API&#xff08;应用程序编程接口&#xff09;在过去的几十年中得到了广泛的应用和不断发展。本文将深入探讨电商A…

css 分割线中间带文字

效果图 代码块&#xff08;自适应&#xff09; <div class"line"><span class"text">我是文字</span></div>.line{height:0;border-top:1px solid #000;text-align:center;}.text{position:relative;top:-14px;background-color:#…

如何查看相机的配置信息,以及获取相机当前状态信息---deepstream

sudo apt-get install v4l2-utils v4l2-ctl --list-devicesv4l2-ctl --list-formats-ext --device0 v4l2-ctl --list-formats-ext --device1参考链接&#xff1a; https://www.elecfans.com/d/1677110.html

特斯拉自动驾驶遭质疑?面临两起 Autopilot 诉讼,均为致命事故

根据最新消息&#xff0c;两起涉及特斯拉 Autopilot 的诉讼将在今年的九月和十月分别在法庭上审理。此类诉讼对于特斯拉及其自动驾驶项目的声誉可能带来一定的负面影响。首先&#xff0c;这些诉讼案件的存在将引起公众对特斯拉 Autopilot 系统安全性。 除了以上提到的两起诉讼&…

【进阶篇】MySQL 存储引擎详解

文章目录 0.前言1.基础介绍2.1. InnoDB存储引擎底层原理InnoDB记录存储结构和索引页结构InnoDB记录存储结构&#xff1a;InnoDB索引页结构&#xff1a; 3. MVCC 详解3.1. 版本号分配&#xff1a;3.2. 数据读取&#xff1a;3.3. 数据写入&#xff1a;3.4. 事务隔离级别&#xff…

servlet内存马学习

项目配置 注意一定要添加 否则访问路径会404&#xff0c;tomcat并没有对项目生效 1.实现javax.servlet.Servlet接口的方式 Servlet.class&#xff1a; package org.test;import javax.servlet.*; import java.io.IOException;public class ServletTest implements Servle…

华为OD机试 - MELON的难题 - 动态规划(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、动态规划五、解题思路六、Java算法源码七、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 一、题目描述 MELON有一堆精美的雨花石(数量为n&#xff0c;重量各异)&#xff0c;准备送给…

为什么很多干了四五年的老IT告诉你算法没用?

文章目录 前言认知决定上限为什么学算法&#xff1f;为什么很多干了四五年的老IT告诉你算法没用&#xff1f;怎么学算法&#xff1f;算法集训 前言 英雄算法联盟八月集训 已经接近尾声&#xff0c;九月算法集训将于 09月01日 正式开始&#xff0c;目前已经提前开启报名&#xf…

学乐多光屏P90:引领儿童智慧教育新时代

随着科技的迅猛发展&#xff0c;儿童教育正经历着深刻变革。在这个引领变革的浪潮中&#xff0c;学乐多光屏P90以其卓越的特性和教育价值&#xff0c;成为了儿童智慧教育的引领者&#xff0c;为孩子们打开了通向知识世界的大门。 学乐多光屏P90的独特之处在于其融合了触摸和投影…

图像生成模型

监督学习 与 无监督学习 监督学习 数据&#xff1a;&#xff08;x, y&#xff09; X是数据&#xff0c;Y是标签 目标&#xff1a;学习一个从x到y的函数映射 样例&#xff1a;分类、回归、物体检测、语义分割、描述 无监督学习 数据&#xff1a;&#xff08;x&#xff09; 只有…

DPI 设置和获取

DPI设置与获取之前请保证程序已经打开DPI感知或者在清单文件嵌入DPI感知&#xff0c;否则API可能获取的值不准确 方法一:GetScaleFactorForMonitor 通过枚举显示器获取不同设备的DPI&#xff0c;获取的是实际DPI static BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor,HDC…

11.2.1-通货膨胀CPI

文章目录 1. 什么是CPI2. 在哪里获取CPI数据3. CPI的同比、环比到底是什么意思&#xff1f;4. 计算购买力侵蚀5. 复利计算 微不足道的小事也会引发惊人的结果&#xff0c; 每念及此&#xff0c; 我就认为世上无小事。——布鲁斯巴登&#xff08;Bruce Barton&#xff09; 核心内…

2023年9月DAMA-CDGA/CDGP数据治理认证考试,火热报名

据DAMA中国官方网站消息&#xff0c;2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启&#xff0c;相关事宜通知如下&#xff1a; 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA) 数据治理专家(CertifiedDataGovernanc…

[NSSCTF 2nd] NSS两周年纪念赛。

都说开卷有益&#xff0c;其实作题也有益&#xff0c;每打一次总能学到点东西。 PWN NewBottleOldWine 这个没作出来&#xff0c;一时还不明白RISC-V64怎么弄本地环境&#xff0c;不过看了WP感觉很简单&#xff0c;取flag用不着环境。 IDA不给翻译了&#xff0c;一点点看汇…