首页 > 其他分享 >导入事件至苹果日历

导入事件至苹果日历

时间:2024-08-23 09:53:01浏览次数:8  
标签:-% 日历 datetime start 导入 苹果 file date import

1.生成日期

from datetime import datetime, timedelta

# 设置开始日期和结束日期
start_date = datetime(2024, 8, 23)
end_date = datetime(2024, 10, 30)

# 列表用于存储每个周期的最后两天的日期
result_dates = []

current_date = start_date - timedelta(days=1)
while current_date <= end_date:
    # 计算周期结束日期
    period_end_date = current_date + timedelta(days=5)

    # 添加周期的最后两天到结果列表
    result_dates.append(period_end_date - timedelta(days=1))
    result_dates.append(period_end_date)

    # 移动到下一个周期的开始日期
    current_date = period_end_date + timedelta(days=1)

# 打印结果日期列表
for date in result_dates:
    print(date.strftime("%Y-%m-%d"))

2.保存为csv文件后(设置好列名称),转为ics文件

# Subject, Start Date, End Date 
import csv from icalendar import Calendar, Event from datetime import datetime, timedelta import os # 设置CSV文件和ICS文件的路径 csv_file_path = "dating.csv" ics_file_path = "dating.ics" def convert_date(date_str): """将日期字符串从 %Y/%m/%d 格式转换为 %Y-%m-%d 格式""" return datetime.strptime(date_str, "%Y/%m/%d").strftime("%Y-%m-%d") try: # 创建一个新的日历 calendar = Calendar() # 打开并读取CSV文件,处理BOM字符 with open(csv_file_path, newline='', encoding='utf-8') as csvfile: # 读取文件内容 file_content = csvfile.read() # 检查BOM并删除 if file_content.startswith('\ufeff'): file_content = file_content.lstrip('\ufeff') # 使用字符串IO读取去掉BOM后的内容 from io import StringIO csvfile = StringIO(file_content) reader = csv.DictReader(csvfile) # 打印CSV文件的列名 print("CSV文件的列名:", reader.fieldnames) for row in reader: print("读取行:", row) # 打印读取的每一行 event = Event() #event.add('summary', f"{row['Subject']} ❤️") # 在事件标题中添加爱心符号 start_date_str = convert_date(row['Start Date']) end_date_str = convert_date(row['End Date']) start_date = datetime.strptime(start_date_str, "%Y-%m-%d") end_date = datetime.strptime(end_date_str, "%Y-%m-%d") # 设置事件的开始和结束日期 event.add('dtstart', start_date) event.add('dtend', end_date + timedelta(days=1)) # ICS的结束日期是独占的,所以需要加一天 # 将事件添加到日历 calendar.add_component(event) # 将日历写入ICS文件 with open(ics_file_path, 'wb') as my_file: my_file.write(calendar.to_ical()) print("ICS文件已创建") except Exception as e: print(f"出错了:{e}")

 

标签:-%,日历,datetime,start,导入,苹果,file,date,import
From: https://www.cnblogs.com/OctoberOrange/p/18375336

相关文章

  • 苹果发布iOS 18 Beta 7更新:RC准正式版正在路上
    苹果发布iOS18开发者预览版Beta7更新,版本号为22A5346a。值得注意的是,本次更新版本号以a结尾,意味着如果不出意外,iOS18 RC准正式版将于下个版本发布,距离正式版发布又近一步。另外,知名苹果分析师马克·古尔曼(MarkGurman)也表示,iOS18Beta7可能是Beta最终版本。在本次......
  • 苹果手机死机:应对屏幕动不了与无法重启的方法
    iPhone突然卡在某个界面、死机了,无法重启手机解决问题,该怎么办?分享几个方法帮大家解决问题。首先,我们可以使用iTunes帮助我们解决问题。手机接入电脑,打开iTunes,会自动识别到iPhone,我们点击【恢复iPhone】即可进行修复,需要注意的是,该操作会倒是手机数据全部丢失。还有一个地......
  • “苹果手机微信分身:解锁iPhone的隐藏功能“
    在智能手机高度普及的今天,微信已成为我们日常生活中不可或缺的社交工具。然而,随着工作与生活界限的日益模糊,单一微信账号已难以满足用户多样化的需求。苹果手机凭借其强大的系统功能和广泛的用户基础,推出了微信分身功能,为用户带来了前所未有的便捷与高效。本文将深入探讨苹果手......
  • 面试+算法之动态规划(Java):斐波那契、背包问题、走棋盘、分苹果、连续子数组最大和、
    概述Dynamicprogramming,简称DP,动态规划,基础算法之一,维基百科的解释:是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时......
  • iOS18升级出现白苹果、无法重启等问题,要怎么解决
    随着苹果iOS18系统beta版本的推出,不少用户在私信说升级后遇到了白苹果和无法重启等问题。这些问题不仅影响了大家的正常使用,还会导致数据丢失和系统崩溃。本文将详细介绍iOS18升级后出现白苹果、无法重启等问题的原因及解决方法,帮助大家快速恢复设备的正常使用。白苹果,一......
  • 点击按钮实现文件导入/文件上传
    <el-uploadref="upload":accept="上传什么类型的文件"action="faker":limit="1":show-file-list="false":on-change="handleCha......
  • 记录下首次在MacBook(Retina,2017)上用“黑苹果”升级Sonoma的体验
    中文互联网平台投递说明:本文的写作风格,和以往我的行文风格会有所不同。主要是我打算把这篇极客体验类的文章发在外网上(因为外网对这类文章的包容度和感兴趣程度都会更高,中国大陆玩“黑苹果”的人还是太少,没什么流量),因此我不得不以适合英文表达和阅读的方式来撰写本文,以便外网......
  • MAC苹果电脑JDK下载安装教程
    JDKForMac 在Mac上安装JDK的步骤主要包括下载JDK安装包、‌安装JDK、‌查询JDK安装路径、‌配置JavaJDK环境变量以及使配置生效。‌以下是详细的步骤说明:‌下载JDK安装包访问Oracle官网,‌选择适合MacOS版本的JDK安装包进行下载。‌对于M系列芯片,‌选择Arm64DMGinsta......
  • Docker 容器中镜像导出/导入
    利用容器中镜像导出/导入创建一个简单的Docker镜像利用dockerps-a命令查看要导出的镜像。导出查看要导出的镜像[root@localhost~]#dockerps-adockerexport命令进行镜像导出。[root@localhost~]#dockerexport418ae>nginx-docker.tar导入[vipsoft@kafka1ho......
  • K8S部署redis集群,并导入单机版redis数据到集群
    可能格式不怎么好看,就是提供一个思路1、编写一个config文件,给挂载到k8s容器里。这个文件是从网上找的,这个脚本没什么改的,redis的配置文件,可以根据自己的需求做修改添加config.yaml文件apiVersion:v1kind:ConfigMapmetadata:name:redis-cluster-configdata:fix-ip.......