python练习题024:怎样计算任意日期7天前的日期

本文介绍了一个Python函数,该函数接收一个日期字符串和一个整数作为参数,返回指定天数之前的日期。通过使用datetime模块,可以轻松地进行日期计算,并将结果以YYYY-MM-DD的格式输出。
部署运行你感兴趣的模型镜像
import datetime

def get_diff_days(pdate,days):
    pdate_obj = datetime.datetime.strptime(pdate,"%Y-%m-%d")
    time_gap = datetime.timedelta(days = days)
    pdate_result = pdate_obj-time_gap
    return pdate_result.strftime("%Y-%m-%d")

print(get_diff_days("2021-04-28",1))
print(get_diff_days("2021-04-28",3))
print(get_diff_days("2021-04-28",5))

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### Python 条件语句练习题示例 以下是几个基于条件语句的 Python 练习题目: #### 题目 1: 判断输入数字是否为正数、负数或零 编写一个程序,提示用户输入一个整数并判断该数字是正数、负数还是零。 ```python number = int(input("请输入一个整数:")) if number > 0: print("这是一个正数") # 如果输入大于0,则输出此消息[^2] elif number < 0: print("这是一个负数") # 如果输入小于0,则输出此消息 else: print("这是零") # 输入等于0时执行此分支 ``` --- #### 题目 2: 使用 `or` 运算符实现逻辑判断 根据给定的两个布尔表达式,判断它们通过 `or` 运算的结果。如果任意一个条件成立则返回 True;否则返回 False。 ```python condition_1 = bool(int(input("请输入第一个布尔值 (0 或 1): "))) condition_2 = bool(int(input("请输入第二个布尔值 (0 或 1): "))) result = condition_1 or condition_2 # 只要其中一个条件为真就返回True print(f"{condition_1} OR {condition_2} 的结果是:", result) ``` --- #### 题目 3: 解线性方程组 设计一段代码让用户依次输入 a, b, c, d, e 和 f 值,并计算出解是否存在或者具体数值是多少。注意处理特殊情况 ad-bc=0 导致无解的情况。 ```python try: a, b, c, d, e, f = map(float, input("请输入六个系数(a,b,c,d,e,f),用逗号分隔开: ").split(",")) denominator = a * d - b * c if denominator == 0: print("The equation has no solution.") # 当ad-bc为0时无法求得唯一解[^3] else: x = (e * d - b * f) / denominator y = (a * f - e * c) / denominator print(f"x is {x:.2f} and y is {y:.2f}") # 输出精确到两位小数的结果 except ValueError as ve: print("错误:", str(ve)) ``` --- #### 题目 4: 计算日期对应的星期几 依据蔡勒公式(Zeller's Congruence),创建脚本询问使用者指定年份、月份与日子之后告知其属于那一周中的那一。 ```python def zellers_congruence(q, m, j, k): if m == 1 or m == 2: m += 12 j -= 1 h = (q + ((13*(m+1))//5) + k + (k//4) + (j//4) + (5*j)) % 7 days_of_week = ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] return days_of_week[h] day = int(input("Enter the day of month: ")) month = int(input("Enter the month (3-12 for Mar-Dec; Jan/Feb treated as prev year’s months 13 & 14): ")) year = int(input("Enter the full year: ")) century = year // 100 year_in_century = year % 100 weekday_name = zellers_congruence(day, month, century, year_in_century) print(f"The date falls on a {weekday_name}.") # 显示最终得出的一周内的某一名称[^4] ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值