龙空技术网

Python日期和时间(纯干货、附源码)

深街科技 445

前言:

目前我们对“python时间函数”大致比较重视,大家都需要分析一些“python时间函数”的相关文章。那么小编也在网络上汇集了一些关于“python时间函数””的相关知识,希望看官们能喜欢,看官们一起来学习一下吧!

Python程序可以通过多种方式处理日期和时间。日期格式之间的转换是计算机常见问题。Python的时间(time)和日历(calendar)模块可用于跟踪日期和时间。

一些常用代码示例

获取当前时间和日期,如:2018-08-18 12:12:00计算两个日期相差天数计算程序运行的时间

#!/usr/bin/python3#coding=utf-8import timeimport datetimestarttime = datetime.datetime.now()time.sleep(5)endtime = datetime.datetime.now()print ((endtime - starttime).seconds )
计算十天之后的日期时间
#!/usr/bin/python3#coding=utf-8import timeimport datetimed1 = datetime.datetime.now()d3 = d1 + datetime.timedelta(days =10)print (str(d3))print (d3.ctime())
获取两个日期时间的时间差
t = (datetime.datetime(2019,1,13,12,0,0) - datetime.datetime.now()).total_seconds()print ("t = ", t)## 输出结果t = 49367780.076406

Python中有提供与日期和时间相关的4个模块。它们分别是 -

1. 时间间隔

时间间隔是以秒为单位的浮点数。从1970年1月1日上午12:00(epoch),这是一种时间的特殊时刻表示。

在Python中,当前时刻与上述特殊的某个时间点之间以秒为单位的时间。这个时间段叫做Ticks。

time模块中的time()函数返回从1970年1月1日上午12点开始的秒数。

# Import time module.import time;# Secondsticks = time.time()print ("Number of ticks since 12:00am, January 1, 1970: ", ticks)

执行上面代码,得到以下结果 -

Number of ticks since 12:00am, January 1, 1970: 1497970093.6243818

但是,这个形式不能表示在时代(1970年1月1日上午12:00)之前的日期。在未来的日子也不能以这种方式表示 - 截止点是在2038年的UNIX和Windows的某个时刻。

2. 什么是TimeTuple?

许多Python时间函数将时间处理为9个数字的元组,如下所示:

一个示例

import timeprint (time.localtime());

这将产生如下结果:

time.struct_time(tm_year = 2016, tm_mon = 2, tm_mday = 15, tm_hour = 9,

tm_min = 29, tm_sec = 2, tm_wday = 0, tm_yday = 46, tm_isdst = 0)

上面的元组相当于struct_time结构。此结构具有以下属性 -

能用图片说明白的尽量用图片说明 -

2.1.获取当前时间

要将从时间浮点值开始的秒数瞬间转换为时间序列,将浮点值传递给返回具有所有有效九个项目的时间元组的函数(例如本地时间)。

#!/usr/bin/python3import timelocaltime = time.localtime(time.time())print ("Local current time :", localtime)# 当前时间curtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())print (curtime)

执行上面代码,这将产生如下结果 -

Local current time : time.struct_time(tm_year=2017, tm_mon=6, tm_mday=20, tm_hour=23, tm_min=9, tm_sec=36, tm_wday=1, tm_yday=171, tm_isdst=0)Curtime is => 2017-06-20 23:09:36

2.2.获取格式化时间

可以根据需要格式化任何时间,但也可使用可读格式获取时间的简单方法是 - asctime() -

#!/usr/bin/python3import timelocaltime = time.asctime( time.localtime(time.time()) )print ("Local current time :", localtime)

执行上面代码,这将产生如下结果 -

Local current time : Mon Feb 15 10:32:13 2018

2.3.获取一个月的日历

calendar模块提供了广泛的方法来显示年历和月度日历。在这里,将打印一个给定月份的日历(2021年11月) -

#!/usr/bin/python3import calendarcal = calendar.month(2021, 11)print ("Here is the calendar:")print (cal)

执行上面代码后,将输出以下结果 -

 November 2021Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30

3.时间模块

Python中有一个受欢迎的时间(time)模块,它提供了处理时间和表示之间转换的功能。以下是所有时间(time)可用方法的列表。

时间(time)模块有两个重要的属性可用。它们是 -

4.日历模块

calendar模块提供与日历相关的功能,包括为给定的月份或年份打印文本日历的功能。

默认情况下,日历将星期一作为一周的第一天,将星期日作为最后一天。如果想要更改这个,可调用calendar.setfirstweekday()函数设置修改。

以下是calendar模块可用的功能函数列表 -

5.其他模块和功能

如果您有兴趣,那么可以在Python中找到其他重要的模块和功能列表,其中包含日期和时间。以下列出其它有用的模块 -

datetime模块pytz模块dateutil模块

私信回复“资料”获得相关python学习资料,更有机会和it大佬成为朋友,期待你的到来。

标签: #python时间函数 #python日期列表 #python 日期型 #python date函数