做攻略的网站,鼎湖网站建设,成都优化网站推广,oppo手机商城一、题目描述 二、思路
1、使用datetime库中的方法可以很好的解决这个问题。
2、定义起始时间和结束时间#xff0c;判断是否是周一或者是1号#xff0c;结果res加上相应的里程数。
3、最后输出 res 即为本题答案。
三、代码实现
import datetimestart datetime.date(2…一、题目描述 二、思路
1、使用datetime库中的方法可以很好的解决这个问题。
2、定义起始时间和结束时间判断是否是周一或者是1号结果res加上相应的里程数。
3、最后输出 res 即为本题答案。
三、代码实现
import datetimestart datetime.date(2000, 1, 1)
end datetime.date(2020, 10, 1)
res 0while start ! end:if start.isoweekday() 1 or start.day 1:res 2else:res 1start datetime.timedelta(days1)print(res2)类似练习
题目 思路
1、使用datetime库设置初始时间和结束时间
2、分别定义年份、月份、日期。不用考闰年的情况因为datetime库会自动识别。
3、分别求出年份的数位和 月份日期的数位和进行比较
4、定义 结果ans 变量通过循环满足条件的不断加一。
5、本题为填空题最后直接打印结果即可。
代码实现
import datetime
start datetime.date(1900, 1, 1)
end datetime.date(9999, 1, 1)
ans 0
while start ! end:year start.yearmonth start.monthday start.dayyy (year // 1000) (year // 10) % 10 (year % 10) (year // 100) % 10mm (month // 10) (month % 10) (day // 10) (day % 10)if yy mm:ans 1start datetime.timedelta(days1)print(ans)
datetime库的使用方法
1、date类
import datetime# 获取日期 创建对象
date_obj datetime.date(2000, 3, 4)# 读取时间
year date_obj.year
month date_obj.month
day date_obj.day# 时间的运算
tom date_obj datetime.timedelta(days1)
yes date_obj - datetime.timedelta(days1)print(tom)
print(yes)
2、判断某天是周几
import datetime# 判断某天是周几 isoweekday()
start datetime.date(2024, 4, 1)
end datetime.date(2024, 4, 10)
res 0
while start ! end:if start.isoweekday() 2:res 1print(start.day)start datetime.timedelta(days1)
# print(res)3. datetime.time 类
创建时间对象
time_obj datetime.time(hour, minute, second, microsecond)
访问时间对象的属性
hour time_obj.hour
minute time_obj.minute
second time_obj.second
microsecond time_obj.microsecond
4. datetime.datetime 类
创建日期时间对象
datetime_obj datetime.datetime(year, month, day, hour, minute, second, microsecond)
访问日期时间对象的属性
year datetime_obj.year
month datetime_obj.month
day datetime_obj.day
hour datetime_obj.hour
minute datetime_obj.minute
second datetime_obj.second
microsecond datetime_obj.microsecond 日期时间运算
# 获取一天后的日期时间
one_day_later datetime_obj datetime.timedelta(days1) # 获取一小时后的日期时间
one_hour_later datetime_obj datetime.timedelta(hours1)
5. datetime.timedelta 类
用于表示两个日期或时间之间的差值。
delta datetime.timedelta(days3, hours2, minutes1)
6. datetime.tzinfo 类
用于处理时区信息。通常你会使用第三方库如 pytz来处理时区因为 datetime 库的 tzinfo 是一个非常基础且抽象的类。
7. 格式化日期和时间
使用 strftime 方法可以将日期和时间对象格式化为字符串。
formatted_date date_obj.strftime(%Y-%m-%d)
formatted_datetime datetime_obj.strftime(%Y-%m-%d %H:%M:%S)
8. 从字符串解析日期和时间
使用 strptime 方法可以从字符串解析出日期和时间对象。
date_obj_from_str datetime.date.strptime(2023-10-23, %Y-%m-%d) datetime_obj_from_str datetime.datetime.strptime(2023-10-23 12:34:56, %Y-%m-%d %H:%M:%S)
9. 当前日期和时间
now datetime.datetime.now() # 获取当前日期和时间
today datetime.date.today() # 获取当前日期
10.获取年份月份日期的数位
random库用于随机生成年份月份和日期但是闰年2月29天需要注意一下。
datetime库用于创建对象方便取用。
import datetime
import randomrandom_year random.randint(1900, 9999)
random_month random.randint(1, 12)
if random_month in [4, 6, 9, 11]:max_day 30
elif random_month 2:if (random_year % 4 0 and random_year % 100 ! 0) or (random_year % 400 0):max_day 29 # 闰年else:max_day 28 # 非闰年
else:# 其他月份有31天max_day 31random_day random.randint(1, max_day)
# 随机生成日期
random_date datetime.date(random_year, random_month, random_day)print(random_date)
# 打印年份的数位
print(random_year // 1000)
print(random_year // 100 % 10)
print(random_year % 10)
print(random_year % 100 // 10)
# 打印月份的数位
print(random_month // 10)
print(random_month % 10)
# 打印日期的数位
print(random_day // 10)
print(random_day % 10)
后续还有什么使用方法我会继续添加的。