python判斷某一天是一年中的第幾天
阿新 • • 發佈:2019-01-30
# 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))