欢迎访问宙启技术站
智能推送

Python时间处理函数:datetime和time模块的常用函数介绍

发布时间:2023-06-23 00:23:22

Python 时间处理功能很强大,能够轻松处理日期、时间和时间间隔,方便了 Python 语言的开发者进行时间相关的操作。其中主要常用的两个时间处理模块是 datetime 和 time。

datetime 模块是 Python 标准库中最常用的时间处理模块之一,它可以方便的处理日期和时间的转换,具体主要函数如下:

1. datetime.datetime.now()

  获取当前时间,精度可以到微秒。

2. datetime.datetime.strptime(date_string, format)

  将一个字符串格式的时间转换成 datetime 对象。

3. datetime.datetime.strftime(format)

  将 datetime 对象格式化成字符串。

4. datetime.datetime.date()

  获取日期部分。

5. datetime.datetime.time()

  获取时间部分。

6. datetime.datetime.timetuple()

  将 datetime 对象转为 time.struct_time 对象。该对象可以通过 time.strftime() 方法格式化成字符串。

7. datetime.datetime.timestamp()

  获取 Unix 时间(时间戳)。

8. datetime.datetime.fromtimestamp(timestamp)

  将 Unix 时间转为 datetime 对象。

9. datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

  表示时间间隔。

10. datetime.datetime.timedelta.total_seconds()

  将时间间隔转换成秒。

下面我们看下 datetime 中时间的格式化:

Python的时间格式化有好几种,这里只列出了一部分,详细的格式化可以看 Python 官网 strftime() 函数文档。

  %Y:年份,比如2015,2017等等;

  %m:月份,比如01,10,12等等;

  %d:日份,比如01,05,18等等;

  %H:小时,24小时,比如00,01,16等等;

  %I:小时,12小时,比如01,02,03等等;

  %M:分钟,比如00,01,59等等;

  %S:秒数,比如00,01,59等等;

  %a:星期缩写,比如Sun,Mon,Tue等等;

  %A:星期全称,比如Sunday,Monday,Tuesday等等;

  %b:月份缩写,比如Jan,Feb,Dec等等;

  %B:月份全称,比如January,February,December等等;

  %j:一年中的天数,即儒略日,比如1,10,150等等;

  %U:一年中的周数,从周日作为每周 天开始计算,比如0,1,20等等;

  %W:一年中的周数,从周一作为每周 天开始计算,比如0,1,20等等;

  %c:时间日期完整显示;

  %x:日期完整显示,比如08/09/18;

  %X:时间完整显示,比如11:01:08;

  %Z:时区显示,比如PST,GMT等等。

接下来我们来看下 time 模块:

time 模块是 Python 标准库中的另一个时间处理模块,它主要用于时间的秒数转换,常用函数如下:

1. time.time()

  获取当前时间,单位是秒。

2. time.strftime(format[, t])

  将时间戳转换为格式化的时间字符串。

3. time.strptime(string[, format])

  将格式化的字符串转换为时间元组(元组中包含时间的年、月、日、时、分、秒等信息)。

4. time.mktime(t)

  将时间元组转换成秒。

5. time.sleep(s)

  睡眠 s 秒,s 可以是浮点数。

总结:

Python时间处理函数为datetime和time模块,二者都具有丰富的 API 可以使用。datetime.datetime.now() 获取当前时间,datetime.datetime.strptime(date_string, format)将一个字符串格式的时间转换成datetime 对象,datetime.datetime.strftime(format)将datetime对象转为字符串。在结果显示时,常用的格式符号有 %Y、%m、%d 和 %H、%M、%S 等。time 模块用于秒数转换,最常用的就是获取当前秒数的 time.time() 函数,然后再进行相应的格式化输出,进行时间相关的计算等等。