(Python初级练习)判断今天是今年的第多少天?

判断今天是今年的第多少天?

思路:

1) 需要调用python自带模块调用当前时间 


 import time
 date = time.localtime()      # 获取当前日期时间
 year, month, day = date[:3]  # 获取年月日


    
2)定义一个各月份天数列表
  day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
  
3) 普通闰年:公历年份是4的倍数的,一般是闰年
4) 世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是世纪闰年,2000年是世纪闰年)

if year % 4 == 0 and year % 400 == 0:         #如果年数是4和400的倍数
    day_month[1] = 29                         #就根据下标替换二月的天数为29


#sum是求和     下面式子就是把之前的整月的天数的和求出来
例如8月5日,那个   sum(day_month[:month-1])+day   就求出了1-7月的总天数然后加天数
 
    month = int(month)
    n = sum(day_month[:month-1]) + day         #求和列表第一位到月份-1的总天数    -1是因为这个月还没有过完-1加现在的天数
    print(n)         #

完整代码如下

import time

date = time.localtime()      # 获取当前日期时间
year, month, day = date[:3]  # 获取年月日
day_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

#判断是否为闰年,如果是闰年把二月替换成29天
if year % 4 == 0 and year % 400 == 0:
    day_month[1] = 29


if month==1:    # 如果这个月是1月
    print(day)  # 直接输出天数
else:

    month = int(month)
    n = sum(day_month[:month-1]) + day
    print(n)  



# 方法二 使用time模块
import time

day = time.localtime().tm_yday
print(day) 

def show_day(string):
    return time.strptime(string,"%Y-%m-%d")
print(show_day("2019-9-1").tm_yday)       # .tm_day  一年第多少天
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值