当前位置: 首页 > news >正文

# Python 判断入参日期是周几

在数据分析和软件开发中,经常需要判断某个特定日期是星期几。Python 提供了强大的日期时间处理功能,可以轻松实现这一功能。本篇文章将介绍如何使用 Python 的内置库来判断给定日期是星期几,并提供具体实例。

1. 使用 datetime 模块

Python 的 datetime 模块是处理日期和时间的标准库,其中包含了日期对象和时间对象的相关操作方法。我们可以利用这个模块来判断日期对应的星期几。

1.1 基本用法

首先,我们需要导入 datetime 模块。以下是一个简单的示例,演示如何获取用户输入的日期并输出该日期是星期几。

import datetime# 获取用户输入的日期
date_input = input("请输入日期(格式:YYYY-MM-DD):")# 将输入转换为日期对象
try:date_object = datetime.datetime.strptime(date_input, "%Y-%m-%d").date()# 获取星期几(0=星期一, 6=星期日)weekday = date_object.weekday()# 星期几的名称列表weekdays_names = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]# 输出结果print(f"{date_input}{weekdays_names[weekday]}")
except ValueError:print("输入的日期格式不正确,请使用 YYYY-MM-DD 格式。")

1.2 代码解析

  1. 导入模块: 首先导入 datetime 模块。
  2. 用户输入: 使用 input() 函数获取用户输入的日期。
  3. 日期转换: 使用 strptime 方法将字符串格式的日期转换为 date 对象。
  4. 获取星期几: 使用 weekday() 方法获取日期对应的星期几,返回值范围为0到6。
  5. 输出结果: 根据返回的星期几索引,从 weekdays_names 列表中获取相应的中文名称并输出。

2. 示例运行

假设用户输入的日期是 2023-10-04,则程序的运行过程如下:

请输入日期(格式:YYYY-MM-DD):2023-10-04
2023-10-04 是 星期三

如果用户输入的日期格式不正确,例如 2023/10/04,则会提示用户格式错误:

请输入日期(格式:YYYY-MM-DD):2023/10/04
输入的日期格式不正确,请使用 YYYY-MM-DD 格式。

3. 扩展功能

我们还可以扩展这个程序,使其能够接受不同格式的输入,或者直接判断当前日期是星期几。

3.1 判断当前日期

下面是判断当前日期是星期几的简单示例:

import datetime# 获取当前日期
current_date = datetime.date.today()# 获取星期几
weekday = current_date.weekday()# 星期几的名称列表
weekdays_names = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]# 输出结果
print(f"今天是 {current_date},是 {weekdays_names[weekday]}。")

4. 小结

通过上述的介绍,你应该了解了如何使用 Python 的 datetime 模块判断任意输入日期是星期几。这个功能在很多应用场景中都非常实用,比如日历应用、事件管理系统等。

5. 深入理解 datetime 模块

在处理日期和时间时,datetime 模块的灵活性和强大功能是非常有用的。除了基本的日期解析和星期几判断,datetime 还提供了许多其他实用功能,比如日期加减、格式化输出等。接下来,我们将探讨一些高级用法。

5.1 日期加减

使用 timedelta 类可以方便地对日期进行加减操作。例如,你可以计算从某个日期开始的未来或过去几天的日期。

from datetime import datetime, timedelta# 获取用户输入的日期
date_input = input("请输入日期(格式:YYYY-MM-DD):")try:# 将输入转换为日期对象date_object = datetime.strptime(date_input, "%Y-%m-%d").date()# 计算未来7天的日期future_date = date_object + timedelta(days=7)print(f"{date_input} 的未来7天是 {future_date}")# 计算过去7天的日期past_date = date_object - timedelta(days=7)print(f"{date_input} 的过去7天是 {past_date}")
except ValueError:print("输入的日期格式不正确,请使用 YYYY-MM-DD 格式。")

5.2 格式化输出

有时候,我们希望以特定的格式输出日期。可以使用 strftime 方法来实现这个需求。

from datetime import datetime# 获取用户输入的日期
date_input = input("请输入日期(格式:YYYY-MM-DD):")try:# 将输入转换为日期对象date_object = datetime.strptime(date_input, "%Y-%m-%d").date()# 格式化输出formatted_date = date_object.strftime("%Y年%m月%d日")print(f"您输入的日期是: {formatted_date}")
except ValueError:print("输入的日期格式不正确,请使用 YYYY-MM-DD 格式。")

5.3 判断闰年

判断给定年份是否为闰年也是常见的需求。可以通过简单的条件语句来实现:

def is_leap_year(year):"""判断年份是否为闰年"""return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)# 获取用户输入的年份
year_input = int(input("请输入年份:"))if is_leap_year(year_input):print(f"{year_input} 是闰年。")
else:print(f"{year_input} 不是闰年。")

6. 实际应用场景

了解如何判断日期对应的星期几以及进行日期操作,对于许多实际开发项目都是必需的。以下是一些可能的应用场景:

  • 日历应用: 可以用于显示每周的日程安排。
  • 事件管理系统: 根据不同日期安排活动,并提示用户即将到来的事件。
  • 财务报表: 根据日期生成每周或每月的财务数据,帮助决策。
  • 数据分析: 在数据清理和分析过程中,统计不同日期范围内的数据分布。

7. 总结

本文详细介绍了如何使用 Python 来判断输入日期是星期几,同时深入探讨了 datetime 模块的一些高级用法,包括日期加减、格式化输出和判断闰年。在实际应用中,这些技能能够大大提升你的编程能力和工作效率。希望你能在自己的项目中灵活运用这些知识!原创不易,希望大家多多转发和关注!!!!

相关文章:

# Python 判断入参日期是周几

在数据分析和软件开发中,经常需要判断某个特定日期是星期几。Python 提供了强大的日期时间处理功能,可以轻松实现这一功能。本篇文章将介绍如何使用 Python 的内置库来判断给定日期是星期几,并提供具体实例。 1. 使用 datetime 模块 Python…...

井字棋游戏(HTML+CSS+JavaScript)

🌏个人博客主页:心.c 前言:这两天在写植物大战僵尸,写不动了,现在和大家分享一下之前我写的一个很简单的小游戏井字棋,这个没有AI,可以两个人一起玩,如果大家觉得我哪里写的有一些问…...

HTML 列表和容器元素——WEB开发系列10

HTML 提供了多种方式来组织和展示内容&#xff0c;其中包括无序列表、有序列表、分区元素 ​​<div>​​ 和内联元素 ​​<span>​​、以及如何使用 ​​<div>​​​ 进行布局和表格布局。 一、HTML 列表 1. 无序列表 (​​<ul>​​) 无序列表用于展…...

Java数组的高级使用技巧与性能优化

Java数组的高级使用技巧与性能优化 大家好&#xff0c;我是微赚淘客返利系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; Java数组是程序设计中的基础数据结构&#xff0c;提供了一种存储固定大小的同类型元素的方式。本文将介绍Jav…...

python spyne报No module named ‘http.cookies‘的解决

python spyne报No module named ‘http.cookies’ python实现webservice服务端时&#xff0c;会使用spyne这个库&#xff0c;安装后&#xff0c;运行会提示No module named ‘http.cookies’。 尝试过不行的方法 pip install http.cookiespip install http.cookiejar 可行的…...

vmware虚拟机玩GPU显卡直通

安装好exsi以后&#xff0c;找到管理----硬件-----PCI设备&#xff0c;勾选想要直通的显卡&#xff0c;然后点击“切换直通” 切换以后可以看到列表中的直通列显示为活动就对了。 然后编辑虚拟机设置&#xff0c;CPU关闭硬件虚拟化&#xff08;向客户机操作系统公开硬件辅助的…...

Linux下Oracle 11g升级19c实录

1.组件信息 source /home/oracle/.bash_profile11g && sqlplus "/ as sysdba"<<EOF set line 200 col COMP_NAME for a40 select comp_name,VERSION,STATUS from dba_registry; exit; EOF COMP_NAME VERSION …...

haproxy实验-2

haproxy中的算法 静态算法&#xff1a;按照事先定义好的规则轮询公平调度&#xff0c;不关心后端服务器的当前负载、连接数和响应速度 等&#xff0c;且无法实时修改权重(只能为0和1,不支持其它值)&#xff0c;只能靠重启HAProxy生效。 static-rr&#xff1a;基于权重的轮询…...

動態PPTP代理IP是什麼?

PPTP即Point-to-Point Tunneling Protocol&#xff0c;點對點隧道協議&#xff0c;是一種常用的VPN協議&#xff0c;主要用於創建虛擬專用網路。通過將用戶的網路流量加密並通過一個中間伺服器傳輸&#xff0c;實現了對用戶IP地址的隱藏和數據的保護。而動態PPTP代理IP則是在傳…...

《全面解析 Nginx:从下载安装到高级应用与问题解决》

Nginx 一、Nginx 简介 什么是 Nginx 以及其功能 Nginx 是一款高性能的 HTTP 和反向代理的 Web 服务器&#xff0c;在处理高并发方面表现卓越&#xff0c;具备强大的能力来承受高负载&#xff0c;有相关报告指出其能够支持高达 50,000 个并发连接数。其显著特点为占用内存少、…...

python获取视频时长

今天有个需求&#xff0c;需要获取视频时长&#xff1a; 方法一&#xff1a;使用moviepy库打开视频文件并获取视频剪辑对象&#xff0c;然后通过剪辑对象获得视频时长。方法二&#xff1a;使用cv2库通过打开视频文件并获取帧率和总帧数两个属性&#xff0c;计算视频时长。 请…...

php-xlswriter实现数据导出excel单元格合并,内容从指定行开始写

最终效果图&#xff1a; 代码&#xff1a; public function export_data() {$list $this->get_list_organ();$content [];$content[] []; // 第2行不设置内容&#xff0c;设置为空foreach ($list as $key > $value) {$content[] [$value[organ_name], $value[clas…...

注意力模型QKV矩阵与位置向量计算

注意力模型QKV矩阵计算 在注意力机制中&#xff0c;Query (Q)、Key (K) 和 Value (V) 矩阵是通过对输入向量进行线性变换得到的&#xff0c;而这些矩阵的初始化与更新与神经网络的权重类似。 1. Q, K, V矩阵的初始化 线性变换&#xff1a;在注意力机制中&#xff0c;输入序列…...

glm4-9B-chat,使用提示工程激活模型最大潜力

文章目录 安全与免责申明简介GLM4-9B直接问答提示工程 激活能力 安全与免责申明 本文旨在研究大模型的安全&#xff0c;交流大模型目前安全方面的一些不足。 所有的实验与讨论的目的均是在进行科学研究的实验的需要。 简介 本文使用Ollama和LangChain&#xff0c;通过提示词…...

[Linux]在Ubuntu中如何正确安装python

一、在Ubuntu中python常见的安装方式 在Ubuntu中我们常用的python安装方式有使用包管理工具安装或者使用源码安装&#xff0c;下面我们来讲解一下这两种安装方式的优缺点。首先是使用包管理工具安装&#xff0c;我们可以直接使用“apt install python3.9”来安装一个我们想要的…...

[Vue3 + TS + Vite]文件选择器-组件

文件选择器组件代码 <script setup lang"ts"> import { ref, onMounted, defineProps, defineEmits, computed, toRaw } from vue;// 定义props interface Props {buttonTextUnactive?: string;buttonTextActive?: string;onFatherClick?: boolean; }// 定…...

Chrome书签搜索插件

效果展示 这是一个chroma插件&#xff0c;可以按住 ctrl/command B 进行搜索您的书签&#xff0c;并且点击打开您的书签。支持上下切换回车打开新页面。 扩展下载地址 bookmark-search 欢迎有任何问题给我提 issues...

MATLAB算法实战应用案例精讲-【人工智能】联邦学习(二)(附python代码实现)

目录 前言 几个高频面试题目 面向隐私保护的机器学习(PPML)和安全机器学习(Secure ML)的区别: 联邦学习、安全计算是什么关系? 联邦学习有哪些类型?如何区分横向联邦学习和纵向联邦学习? 什么是IID?什么是Non-iid? 联邦学习训练后的模型是一个公共的模型,而…...

在 C++ 中实现一个简单的图形用户界面(GUI)应用

在 C 中实现一个简单的图形用户界面&#xff08;GUI&#xff09;应用 图形用户界面&#xff08;GUI&#xff09;应用程序是现代软件开发中不可或缺的一部分。它们为用户提供了直观的交互方式&#xff0c;使得操作更加简单和高效。本文将介绍如何在 C 中实现一个简单的 GUI 应用…...

如何编写一个CMakeLists.txt文件(由简到难,较详细)

在Linux系统下&#xff0c;经常使用CMakeLists.txt文件来链接、编译C工程&#xff0c;大部分人clone的代码里都是有CMakeLists.txt文件的&#xff0c;只需要cmake .. 和make就完事了&#xff0c;但在工作中&#xff0c;你必须要有从无到有编写CMakeLists.txt文件的能力。 一、…...

Unity Library文件夹不是缓存,而是项目运行时核心枢纽

1. Library文件夹不是“缓存”&#xff0c;而是Unity工程的“神经系统”在Unity项目里&#xff0c;只要有人提“工程太大”&#xff0c;十有八九会冒出一句&#xff1a;“删掉Library文件夹不就完了&#xff1f;”——这话我听过不下五十遍&#xff0c;从刚入行的实习生&#x…...

ATLO-ML:自适应时序预测窗口与采样率优化框架详解

1. 项目概述&#xff1a;为什么时序预测的“窗口”和“节奏”如此重要&#xff1f;在机器学习的时间序列预测任务中&#xff0c;我们常常会陷入一个看似简单、实则充满陷阱的环节&#xff1a;如何设置模型的“输入窗口”&#xff1f;具体来说&#xff0c;就是应该用过去多长时间…...

Atlas-Learn:从点云构建流形图册的工程实践与黎曼优化应用

1. 项目概述&#xff1a;从点云到流形图册的工程实践在机器学习和数据科学领域&#xff0c;我们常常面对一个核心困境&#xff1a;数据点看似散落在高维的欧几里得空间中&#xff0c;但其内在的、有意义的规律却往往存在于一个低维的非线性结构上。想象一下&#xff0c;你有一堆…...

URP Renderer Feature深度解析:生命周期、避坑指南与工业级实现

1. 这不是“加个脚本”就能搞定的渲染扩展——URP Renderer Feature 的真实定位与误用重灾区很多人第一次在URP项目里点开“Renderer Features”面板时&#xff0c;下意识会把它当成“Unity旧版Post-Processing Stack的平替”或者“一个能塞自定义Shader的快捷入口”。我见过太…...

麒麟系统启动卡住别慌!这可能是磁盘文件系统坏了,试试这几条Linux命令自救

麒麟系统启动卡顿故障排查指南&#xff1a;从原理到实战的磁盘修复方案 当你的麒麟系统突然卡在启动界面&#xff0c;屏幕上只留下"Boot From Harddisk"或EFI stub信息时&#xff0c;那种焦虑感我深有体会。作为一名经历过数十次类似故障排查的技术顾问&#xff0c;我…...

ESPIM架构:稀疏计算与存内计算融合,突破边缘AI推理内存墙

1. 项目概述&#xff1a;当稀疏计算遇上存内计算在边缘设备上部署大型语言模型&#xff08;LLaMA、GPT等&#xff09;进行推理&#xff0c;正成为一个越来越普遍的需求。无论是出于隐私保护&#xff0c;还是为了应对有限的无线带宽&#xff0c;本地化推理都展现出巨大吸引力。然…...

AhMyth短信管理器:远程读取和发送短信的终极技术指南 [特殊字符]

AhMyth短信管理器&#xff1a;远程读取和发送短信的终极技术指南 &#x1f680; 【免费下载链接】AhMyth Cross-Platform Android Remote Administration Tool | The only maintained version of AhMyth on github | A revival of the original repository at https://GitHub.c…...

探索DeepPurpose预训练模型:10分钟实现SARS-CoV-3CL蛋白酶抑制剂虚拟筛选

探索DeepPurpose预训练模型&#xff1a;10分钟实现SARS-CoV-3CL蛋白酶抑制剂虚拟筛选 【免费下载链接】DeepPurpose A Deep Learning Toolkit for DTI, Drug Property, PPI, DDI, Protein Function Prediction (Bioinformatics) 项目地址: https://gitcode.com/gh_mirrors/de…...

终极图像描述评估指南:5大核心指标深度解析与应用实践

终极图像描述评估指南&#xff1a;5大核心指标深度解析与应用实践 【免费下载链接】coco-caption 项目地址: https://gitcode.com/gh_mirrors/co/coco-caption 在人工智能视觉领域&#xff0c;图像描述生成技术正以前所未有的速度发展。然而&#xff0c;如何科学评估模…...

Burp Suite企业级部署:从单机工具到安全团队基础设施

1. 为什么企业级Burp Suite部署不是“装个软件就完事”&#xff1f;很多人第一次接触Burp Suite&#xff0c;是在渗透测试入门课上——下载社区版、双击安装、抓个百度登录包&#xff0c;三分钟上手。但当我接手某金融客户内部红队平台建设时&#xff0c;发现他们把Burp当Chrom…...