我正在编写一个代码,将不同季节的特定数据分配给不同的季节。我希望程序根据当前的月份打印各种数据。
Autumn = 'September'
Autumn = 'October'
Autumn = 'November'
Autumn = 'December'
Autumn = 'January' #(The start Jan 01)
Spring = 'January' #(Jan 02 onwards)
Spring = 'February'
Spring = 'March'
Spring = 'April' #(The start April 04)
Summer = 'Apirl' #(April 05 onwards)
Summer = 'May'
Summer = 'June'
Summer = 'July'
答案 0 :(得分:5)
您可以使用strftime()
模块中的time
功能。这会将当前月份存储在名为current_month
的变量中。
from time import strftime
current_month = strftime('%B')
如果您想从此获得当前季节,请尝试以下功能:
def get_season(month):
seasons = {
'Autumn': ['September', 'October', 'November', 'December', 'January'],
'Spring': ['January', 'February', 'March', 'April'],
'Summer': ['Apirl', 'May', 'June', 'July']
}
for season in seasons:
if month in seasons[season]:
return season
return 'Invalid input month'
目前,这不会解决您指定的日期冲突,因为1月份的任何一天都会返回'Autumn'
,而4月的任何一天都会找到'Spring'
。
答案 1 :(得分:4)
time.strftime("%b")
将告诉您当前月份(缩写)
time.strftime("%m")
将为您提供数字月份(即1 = Jan / 12 = Dec)
(甚至更好)
datetime.datetime.now().month
因为它会给你一个实际的整数而不是一个字符串(虽然1月是0,但是要警告)
答案 2 :(得分:1)
您可以使用datetime.datetime.now
:
>>> from datetime import datetime
>>> datetime.now().month # As a number
4
>>> datetime.now().strftime("%B") # As a name
'April'
>>> datetime.now().strftime("%b") # As an abbreviated name
'Apr'
>>>
答案 3 :(得分:-1)
whit import datetime
你可以使用datetime.date.today()
并返回当前日期或日期时间