python判断某一天是一年中的第几天

# F1
dat = input('请输入某年某月某日,格式为yyyy-mm-dd: ')
y = int(dat[0:4]) # 获取年费
m= int(dat[5:7]) # 获取月份
d = int(dat[8:]) # 获取日

ly = False
if y%100 == 0: # 若年份能被100整除
    if y%400 == 0: # 且能被400整除
        ly = True # 则是闰年
    else:
        ly = False
elif y%4 == 0: # 若能被4整除
     ly = True # 则是闰年
else:
    ly = False

if ly == True: # 若是闰年,则二月为29天
    ms = [31, 29, 31, 30, 31,30, 31, 31, 30, 31, 30, 31]
else:
    ms = [31, 28, 31, 30, 31,30, 31, 31, 30, 31, 30, 31]
days = 0

for i in range(1,13): # 从1到12判断,已确定月份
    if i == m:
        for j in range(i-1): # 确定月份i之后,则将ms列表中的前i-1项相加
           days += ms[j]
        print('%s是该年份的第%s天' % (dat, (days +d)))


# F2 datetime模块
import datetime

y = int(input('请输入4位数据的年份:'))
m = int(input('请输入月份:'))
d = int(input('请输入那一天:'))

sday = datetime.date(y, m, d)
print(type(sday), sday)

count = sday - datetime.date(sday.year - 1, 12 ,31) # 减去上一年最后一天
# 2017-12-31
print(sday.month)
print(count,type(count))
print('%s是%s年的第%s天' % (sday, y ,count.days))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值