Python中的时间元组
先决条件:带有示例的Python日期时间模块
在Python中, datetime 模块用于操作日期和时间对象。该模块具有用于处理日期和时间解析、格式化和算术运算的不同函数和类。 datetime 模块有各种常量,如MINYEAR
、 MAXYEAR
等,各种类如datetime.date
、 datetime.time
、 datetime.datetime
等以及各种实例方法,如日期对象的replace()
、 weekday()
、 isocalendar()
等time()
, dst()
, timestamp()
等时间对象。
时间()
为了使用timetuple()
方法,我们需要导入 datetime 模块。 timetuple()方法是 datetime 模块的实例方法,该方法返回time.struct_time
对象。 time.struct_time
对象的属性可以通过索引或属性名称访问。 struct_time
对象具有表示日期和时间字段的属性,这些属性存储在元组中:
Index | Attribute | Field | Domain |
---|---|---|---|
0 | 4 Digit Year | tm_year | Example: 2020 |
1 | Month | tm_mon | 1 to 12 |
2 | Day | tm_mday | 1 to 31 |
3 | Hour | tm_hour | 0 to 23 |
4 | Minute | tm_min | 0 to 59 |
5 | Second | tm_sec | 0 to 61 |
6 | Day of Week | tm_wday | 0 to 6 |
7 | Day of Year | tm_yday | 1 to 366 |
8 | Daylight Saving Time | tm_isdst | -1, 0, 1 |
注意: tm_isdst
属性是一个标志,当夏令时活动关闭时设置为 0,如果夏令时活动启用则设置为 1,如果夏令时由编译器确定,则设置为 -1, tm_yday
属性基于儒略日数在tm_sec
中,值 60 或 61 是闰秒。
示例 1:下面的示例显示了当前日期的时间元组。
# program to illustrate timetuple()
# method in Python
import datetime
# creating object
obj = datetime.datetime.today()
# obtaining the attributes of the
# datetime instance as a tuple
objTimeTuple = obj.timetuple()
# displaying the tuples of the object
print(objTimeTuple)
输出:
time.struct_time(tm_year=2020, tm_mon=1, tm_mday=29, tm_hour=14, tm_min=13, tm_sec=32, tm_wday=2, tm_yday=29, tm_isdst=-1)
在上述程序中, datetime
对象obj
被赋值为当前日期,然后使用timetuple()
方法获取obj
在元组中的属性并显示出来。我们还可以使用循环来显示obj
的属性。
示例 2:让我们看另一个使用自定义日期的示例。
# program to illustrate timetuple()
# method in Python
import datetime
# creating object and initializing
# it with custom date
birthDate = datetime.datetime(1999, 4, 6)
# obtaining the attributes and displaying them
print("Year: ", birthDate.timetuple()[0])
print("Month: ", birthDate.timetuple()[1])
print("Day: ", birthDate.timetuple()[2])
print("Hour: ", birthDate.timetuple()[3])
print("Minute: ", birthDate.timetuple()[4])
print("Second: ", birthDate.timetuple()[5])
print("Day of Week: ", birthDate.timetuple()[6])
print("Day of Year: ", birthDate.timetuple()[7])
print("Daylight Saving Time: ", birthDate.timetuple()[8])
输出:
Year: 1999
Month: 4
Day: 6
Hour: 0
Minute: 0
Second: 0
Day of Week: 1
Day of Year: 96
Daylight Saving Time: -1
在这里, datetime
对象birthDate
被分配了一个自定义日期,然后该对象的每个属性都由元组的索引显示。从time.struct_time
结构中检索到的参数可以作为元组的元素以及年、月和指定为日期时间对象的日期字段(此处为 1999、4 和 6)和引用小时、分钟、秒的字段设置为零。