@@ -8,14 +8,14 @@ Python具有良好的时间和日期管理功能。实际上,计算机只会
88
99##time包
1010
11- time包基于C语言的库函数 (library functions)。Python的解释器通常是用C编写的,Python的一些函数也会直接调用C语言的库函数。
11+ ` time ` 包基于C语言的库函数 (library functions)。Python的解释器通常是用C编写的,Python的一些函数也会直接调用C语言的库函数。
1212``` python
1313import time
1414print (time.time()) # wall clock time, unit: second
1515print (time.clock()) # processor clock time, unit: second
1616```
1717
18- time.sleep()可以将程序置于休眠状态,直到某时间间隔之后再唤醒程序,让程序继续运行。
18+ ` time.sleep() ` 可以将程序置于休眠状态,直到某时间间隔之后再唤醒程序,让程序继续运行。
1919``` python
2020import time
2121print (' start' )
@@ -26,7 +26,7 @@ print('wake up')
2626
2727
2828
29- time包还定义了struct_time对象 。该对象实际上是将挂钟时间转换为年、月、日、时、分、秒……等日期信息,存储在该对象的各个属性中(tm_year, tm_mon, tm_mday...)。下面方法可以将挂钟时间转换为struct_time对象 :
29+ ` time ` 包还定义了 ` struct_time ` 对象 。该对象实际上是将挂钟时间转换为年、月、日、时、分、秒……等日期信息,存储在该对象的各个属性中(` tm_year ` , ` tm_mon ` , ` tm_mday ` ...)。下面方法可以将挂钟时间转换为 ` struct_time ` 对象 :
3030``` python
3131st = time.gmtime() # 返回struct_time格式的UTC时间
3232st = time.localtime() # 返回struct_time格式的当地时间, 当地时区根据系统环境决定。
@@ -38,27 +38,27 @@ s = time.mktime(st) # 将struct_time格式转换成wall clock time
3838
39391 ) 简介
4040
41- datetime包是基于time包的一个高级包 , 为我们提供了多一层的便利。
41+ ` datetime ` 包是基于 ` time ` 包的一个高级包 , 为我们提供了多一层的便利。
4242
43- datetime可以理解为date和time两个组成部分 。date是指年月日构成的日期(相当于日历),time是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)。你可以将这两个分开管理(datetime.date类, datetime.time类 ),也可以将两者合在一起(datetime.datetime类 )。由于其构造大同小异,我们将只介绍datetime.datetime类 。
43+ ` datetime ` 可以理解为date和time两个组成部分 。date是指年月日构成的日期(相当于日历),time是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)。你可以将这两个分开管理(` datetime.date ` 类, ` datetime.time ` 类 ),也可以将两者合在一起(` datetime.datetime ` 类 )。由于其构造大同小异,我们将只介绍 ` datetime.datetime ` 类 。
4444
4545比如说我现在看到的时间,是2012年9月3日21时30分,我们可以用如下方式表达:
4646``` python
4747import datetime
4848t = datetime.datetime(2012 ,9 ,3 ,21 ,30 )
4949print (t)
5050```
51- 所返回的t有如下属性 :
51+ 所返回的 ` t ` 有如下属性 :
5252
53- hour, minute, second, microsecond
53+ ` hour ` , ` minute ` , ` second ` , ` microsecond `
5454
55- year, month, day, weekday # weekday表示周几
55+ ` year ` , ` month ` , ` day ` , ` weekday ` # weekday表示周几
5656
5757
5858
59592 ) 运算
6060
61- datetime包还定义了时间间隔对象( timedelta)。一个时间点(datetime)加上一个时间间隔(timedelta)可以得到一个新的时间点(datetime)。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。
61+ ` datetime ` 包还定义了时间间隔对象( ` timedelta ` )。一个时间点(` datetime ` )加上一个时间间隔(` timedelta ` )可以得到一个新的时间点(` datetime ` )。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。
6262
6363``` python
6464import datetime
@@ -70,45 +70,46 @@ print(t + delta1)
7070print (t + delta2)
7171print (t_next - t)
7272```
73- 在给datetime.timedelta传递参数(如上的seconds和weeks )的时候,还可以是days, hours, milliseconds, microseconds。
73+ 在给 ` datetime.timedelta ` 传递参数(如上的 ` seconds ` 和 ` weeks ` )的时候,还可以是 ` days ` , ` hours ` , ` milliseconds ` , ` microseconds ` 。
7474
7575
7676
77- 两个datetime对象还可以进行比较。比如使用上面的t和t_next :
77+ 两个 ` datetime ` 对象还可以进行比较。比如使用上面的 ` t ` 和 ` t_next ` :
7878``` python
7979print (t > t_next)
8080```
8181
82823 ) datetime对象与字符串转换
8383
84- 假如我们有一个的字符串,我们如何将它转换成为datetime对象呢 ?
84+ 假如我们有一个的字符串,我们如何将它转换成为 ` datetime ` 对象呢 ?
8585
8686一个方法是用上一讲的正则表达式来搜索字符串。但时间信息实际上有很明显的特征,我们可以用格式化读取的方式读取时间信息。
8787``` python
8888from datetime import datetime
8989format = " output-%Y-%m-%d -%H%M%S.txt"
9090str = " output-1997-12-23-030000.txt"
9191t = datetime.strptime(str , format )
92- strptime, p = parsing
9392```
93+ ` strptime ` 中的“p”代表解析(parsing)。
9494
95- 我们通过format来告知Python我们的str字符串中包含的日期的格式。在format中,%Y表示年所出现的位置, %m表示月份所出现的位置……。
9695
97- 反过来,我们也可以调用datetime对象的strftime()方法,来将datetime对象转换为特定格式的字符串。比如上面所定义的t_next,
96+ 我们通过` format ` 来告知Python我们的str字符串中包含的日期的格式。在` format ` 中,` %Y ` 表示年所出现的位置, ` %m ` 表示月份所出现的位置……。
97+
98+ 反过来,我们也可以调用` datetime ` 对象的` strftime() ` 方法,来将` datetime ` 对象转换为特定格式的字符串。比如上面所定义的` t_next ` ,
9899``` python
99100print (t_next.strftime(format ))
100101```
101- strftime, f = formatting
102+ ` strftime ` 中的“f”代表格式化( formatting)。
102103
103- 具体的格式写法可参阅官方文档。 如果是Linux系统,也可查阅date命令的手册( $man date),两者相通。
104+ 具体的格式写法可参阅官方文档。 如果是Linux系统,也可查阅 ` date ` 命令的手册( ` $man date ` ),两者相通。
104105
105106
106107
107108##总结
108109
109110时间,休眠
110111
111- datetime, timedelta
112+ ` datetime ` , ` timedelta `
112113
113114格式化时间
114115
0 commit comments