文章目录
  1. 1. datetime
    1. 1.1. 获取当前日期和时间
    2. 1.2. 获取指定日期和时间
    3. 1.3. datetime转换为timestamp
    4. 1.4. str转换为datetime
    5. 1.5. datetime转换为str
    6. 1.6. datetime加减
    7. 1.7. 本地时间转换为UTC时间
    8. 1.8. 时区转换
  2. 2. collections
  3. 3. base64
  4. 4. struct
  5. 5. hashlib
  6. 6. hmac
  7. 7. itertools
  8. 8. contextlib
  9. 9. urllib
  10. 10. XML
  11. 11. HTMLParser

Python之所以自称“batteries included”,就是因为内置了许多非常有用的模块,无需额外安装和配置,即可直接使用.

datetime

datetime是Python处理日期和时间的标准库。

获取当前日期和时间

1
2
3
4
5
6
>>> from datetime import datetime
>>> now = datetime.now() # 获取当前datetime
>>> print(now)
2015-05-18 16:28:07.198690
>>> print(type(now))
<class 'datetime.datetime'>

获取指定日期和时间

1
2
3
4
>>> from datetime import datetime
>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期时间创建datetime
>>> print(dt)
2015-04-19 12:20:00

datetime转换为timestamp

在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。

1
2
3
4
>>> from datetime import datetime
>>> dt = datetime(2015, 4, 19, 12, 20) # 用指定日期时间创建datetime
>>> dt.timestamp() # 把datetime转换为timestamp
1429417200.0
注意Python的timestamp是一个浮点数。如果有小数位,小数位表示毫秒数。某些编程语言(如Java和JavaScript)的timestamp使用整数表示毫秒数,这种情况下只需要把timestamp除以1000就得到Python的浮点表示方法。

### timestamp转换为datetime
1
2
3
4
>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t))
2015-04-19 12:20:00

注意到timestamp是一个浮点数,它没有时区的概念,而datetime是有时区的。上述转换是在timestamp和本地时间做转换。timestamp也可以直接被转换到UTC标准时区的时间:

1
2
3
4
5
6
>>> from datetime import datetime
>>> t = 1429417200.0
>>> print(datetime.fromtimestamp(t)) # 本地时间
2015-04-19 12:20:00
>>> print(datetime.utcfromtimestamp(t)) # UTC时间
2015-04-19 04:20:00

str转换为datetime

很多时候,用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串(注意转换后的datetime是没有时区信息的):

1
2
3
4
>>> from datetime import datetime
>>> cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')
>>> print(cday)
2015-06-01 18:19:59

datetime转换为str

如果已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()实现的,同样需要一个日期和时间的格式化字符串:

1
2
3
4
>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now.strftime('%a, %b %d %H:%M'))
Mon, May 05 16:28

datetime加减

本地时间转换为UTC时间

时区转换

collections

collections是Python内建的一个集合模块,提供了许多有用的集合类。

base64

Python内置的base64可以直接进行base64的编解码。

struct

Python提供了一个struct模块来解决bytes和其他二进制数据类型的转换。

hashlib

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。

hmac

Python自带的hmac模块实现了标准的Hmac算法。

itertools

Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。

contextlib

在Python中,读写文件这样的资源要特别注意,必须在使用完毕后正确关闭它们,Python提供了contextlib库来进行简单的操作。

urllib

urllib提供了一系列用于操作URL的功能。

XML

XML虽然比JSON复杂,在Web中应用也不如以前多了,不过仍有很多地方在用,所以,有必要了解如何操作XML。

HTMLParser

Python提供了HTMLParser来非常方便地解析HTML。

文章目录
  1. 1. datetime
    1. 1.1. 获取当前日期和时间
    2. 1.2. 获取指定日期和时间
    3. 1.3. datetime转换为timestamp
    4. 1.4. str转换为datetime
    5. 1.5. datetime转换为str
    6. 1.6. datetime加减
    7. 1.7. 本地时间转换为UTC时间
    8. 1.8. 时区转换
  2. 2. collections
  3. 3. base64
  4. 4. struct
  5. 5. hashlib
  6. 6. hmac
  7. 7. itertools
  8. 8. contextlib
  9. 9. urllib
  10. 10. XML
  11. 11. HTMLParser