Python程序可以通过几种方式处理日期和时间。在日期格式之间进行转换是计算机的常见任务。
时间间隔是浮点数,以秒为单位。从1970年1月1日上午12:00(纪元)开始,以秒为单位表示特定时间。
Python中提供了一个流行的 time 模块,该模块提供用于处理时间以及在表示之间进行转换的功能。函数 time.time()返回自1970年1月1日(纪元)上午12:00以来的当前系统时间。
#!/usr/bin/python import time; # 这需要包含time时间模块。 ticks=time.time() print "Number of ticks since 12:00am, January 1, 1970:", ticks
这将产生如下输出-
Number of ticks since 12:00am, January 1, 1970: 7186862.73399
Python的许多时间函数将时间作为9个数字的元组来处理,如下所示-
索引 | 字段 | 值 |
---|---|---|
0 | 4位数字年份 | 2008 |
1 | Month | 1到12 |
2 | Day | 1到31 |
3 | Hour | 0到23 |
4 | Minute | 0到59 |
5 | Second | 0到61(60或61是leap秒) |
6 | Day of Week | 0到6(0是星期一) |
7 | Day of year | 1至366 |
8 | 夏令时 | -1、0、1,-1表示库确定DST |
上面的元组等效于 struct_time 结构。该结构具有以下属性-
索引 | 属性 | 值 |
---|---|---|
0 | tm_year | 2008 |
1 | tm_mon | 1到12 |
2 | tm_mday | 1到31 |
3 | tm_hour | 0到23 |
4 | tm_min | 0到59 |
5 | tm_sec | 0到61(60或61是leap秒) |
6 | tm_wday | 0到6(0是星期一) |
7 | tm_yday | 1至366(朱利安日) |
8 | tm_isdst | -1、0、1,-1表示库确定DST |
要将某个时间点(从历元浮点值起的秒)转换为一个时间元组,请将浮点值传递给一个函数(如localtime)。
#!/usr/bin/python import time; localtime=time.localtime(time.time()) print "Local current time :", localtime
这将产生以下输出,可以将其格式化为任何其他可表示的形式-
Local current time : time.struct_time(tm_year=2013, tm_mon=7, tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)
您可以根据需要设置任何时间的格式,但是以可读格式获取时间的简单方法是asctime()-
#!/usr/bin/python import time; localtime=time.asctime( time.localtime(time.time()) ) print "Local current time :", localtime
这将产生以下输出-
链接:https://www.learnfk.comhttps://www.learnfk.com/python/python-date-time.html
来源:LearnFk无涯教程网
Local current time : Tue Jan 13 10:17:09 2009
日历模块提供了使用年度和每月日历的多种方法。在这里,无涯教程打印给定月份(2008年1月)的日历-
#!/usr/bin/python import calendar cal=calendar.month(2008, 1) print "Here is the calendar:" print cal
这将产生以下输出-
链接:https://www.learnfk.comhttps://www.learnfk.com/python/python-date-time.html
来源:LearnFk无涯教程网
Here is the calendar: January 2008 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Python中提供了一个流行的 time 模块,该模块提供用于处理时间以及在表示之间进行转换的功能。这是所有可用方法的列表-
产品编号 | 具有描述功能 |
---|---|
1 |
time.altzone 本地DST时区的偏移量,如果已定义,则位于UTC以西的秒数。 |
2 |
time.asctime([tupletime]) 接受时间元组并返回可读的24个字符的字符串,如" Tue Dec 11 18:07:14 2008"。 |
3 |
time.clock() 以浮点秒数形式返回当前CPU时间。为了衡量不同方法的计算成本,time.clock的值比time.time()的值更有用。 |
4 |
time.ctime([secs]) 像asctime(localtime(secs))一样,不带参数,就像asctime() |
5 |
time.gmtime([secs]) 接受从纪元以来以秒表示的瞬间,并返回带有UTC时间的时间元组t。注意:t.tm_isdst始终为0 |
6 |
time.localtime([secs]) 接受从纪元开始以秒为单位的瞬间,并返回具有本地时间的时间元组t(t.tm_isdst为0或1,具体取决于DST是否适用于本地规则的瞬间秒)。 |
7 |
time.mktime(tupletime) 接受以当地时间的时间元组表示的瞬时值,并返回一个浮点值,该瞬时值以自该纪元以来的秒数表示。 |
8 |
time.sleep(secs) 将调用线程暂停几秒钟。 |
9 |
time.strftime(fmt [,tupletime]) 接受以当地时间的时间元组表示的瞬间,并返回一个字符串,该字符串表示由字符串fmt指定的瞬间。 |
10 |
time.strptime(str,fmt ='%a%b%d%H:%M:%S%Y') 根据格式字符串fmt解析str并以时间元组格式返回时刻。 |
11 |
time.time() 返回当前时刻,该时间点是自该纪元以来的秒数。 |
12 |
time.tzset() 重置库Example程使用的时间转换规则。环境变量TZ指定如何完成此操作。 |
时间模块提供以下两个重要属性-
Sr.No. | Attribute with 描述 |
---|---|
1 | time.timezone 属性time.timezone是本地时区与UTC的偏移量(以秒为单位) |
2 | time.tzname 属性time.tzname是一对依赖于语言环境的字符串,分别是不带DST和带DST的本地时区的名称。 |
日历模块提供了与日历相关的功能,包括用于打印给定月份或年份的文本日历的功能。
默认情况下,日历将星期一作为一周的第一天,将星期日作为最后一天。要更改此设置,请调用calendar.setfirstweekday()函数。
这是 calendar 模块可用的功能列表-
编号 | 具有描述功能 |
---|---|
1 | calendar.calendar(year,w=2,l=1,c=6) 返回带有年份年份日历的多行字符串,该日历格式设置为三列,由c空格分隔。 w是每个日期的字符宽度;每行的长度为21 * w + 18 + 2 * c。 l是每周的行数。 |
2 | calendar.firstweekday() 返回每周开始的工作日的当前设置。默认情况下,首次导入日历时,该值为0,表示星期一。 |
3 | calendar.isleap(year) 如果year是a年,则返回True;否则,返回true。否则为False。 |
4 | calendar.leapdays(y1,y2) 返回年份内(y1,y2)范围内的leap日总数。 |
5 | calendar.month(year,month,w=2,l=1) 返回一个多行字符串,其中包含一年中月份月份的日历,每周一行,外加两个标题行。 w是每个日期的字符宽度;每行的长度为7 * w + 6。 l是每周的行数。 |
6 | calendar.monthcalendar(year,month) 返回一个int列表。每个子列表表示一个星期。一年中月份月份中的天数设置为0;该月中的天数设置为他们的月中第一天及以后的一天。 |
7 | calendar.monthrange(year,month) 返回两个整数。第一个是每年一年中月份月份的第一天的工作日代码;第二个是一个月中的天数。工作日代码为0(星期一)至6(星期日);月数是1到12。 |
8 | calendar.prcal(year,w=2,l=1,c=6) 类似于打印日历。calendar(year,w,l,c)。 |
9 | calendar.prmonth(year,month,w=2,l=1) 类似于打印日历。month(year,month,w,l)。 |
10 | calendar.setfirstweekday(weekday) 将每周的第一天设置为工作日代码工作日。工作日代码为0(星期一)至6(星期日)。 |
11 | calendar.timegm(tupletime) time.gmtime的倒数:以时间元组形式接受一个时刻,并返回与该时刻相距的浮点秒数相同的时刻。 |
12 | calendar.weekday(year,month,day) 返回给定日期的工作日代码。工作日代码为0(星期一)至6(星期日);月号是1月(1月)至12月(12月)。 |
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)