1. python中的datetime是处理时间和日期的标准库
>>> print(now_time)
2015-08-26 09:55:24.042232
>>> type(now_time)
<class 'datetime.datetime'>
说明:第二行中的datetime是datetime库中的类,所以now_time的类型是datetime.datetime日期类型
2. python中的所有类型有:字符串,布尔类型,整数,浮点数,数字,列表,元组,字典,日期
3. 获取指定日期,因为datetime模块中有一个datetime类,所以我们可以制定一个实例来获取某个具体时间
举例:>>> from datetime import datetime
>>> a=datetime(2015,01,06,12,12,12)
SyntaxError: invalid token
>>> a=datetime(2015,1,06,12,12,12)
SyntaxError: invalid token
>>> a=datetime(2015,1,6,12,12,12)
>>> a
datetime.datetime(2015, 1, 6, 12, 12, 12)
>>> print(a)
2015-01-06 12:12:12
说明:datetime类来创建实例的时候,初始化的值如果是单数的话不需要在前面加0
4. datetime转换为timestamp,实际上在计算机中,存储的日期并不是我们所看到的年月日,而是将年月日转换为浮点型数字进行存储的
举例: >>> a=datetime(1993,1,6,12,12,12)
>>> a.timestamp()
726293532.0
注意Python的timestamp是一个浮点数。如果有小数位,小数位表示毫秒数
5. timestamp转换为datetime,datetime类提供了一个fromtimestamp函数,调用这个函数可以将浮点型数值转换为datetime日期类型
举例: >>> a=726293532.0
>>> datetime.fromtimestamp(a)
datetime.datetime(1993, 1, 6, 12, 12, 12)
>>> print(datetime.fromtimestamp(a))
1993-01-06 12:12:12
6. str转换为datetime,转换方法是通过datetime.strptime()实现
举例: >>> a=datetime.strptime('1993-1-6 12:12:12','%Y-%m-%d %H:%M:%S')
>>> print(a)
1993-01-06 12:12:12
注意:字符串'%Y-%m-%d %H:%M:%S'规定了日期和时间部分的格式,时分秒必须全部大写,年月日其中年必须大写,月日必须小写
7. datetime的加减,是可以直接进行加减的,但必须引入timedelta()类
举例: >>> from datetime import timedelta
>>> a+timedelta(days=3,hours=4)
datetime.datetime(2015, 8, 29, 15, 11, 46, 774470)
8. 时间差
举例: >>> a=datetime.now()
>>> b=a+timedelta(days=3,hours=4)
>>> (b-a).days
3
>>> (b-a).seconds
14400
>>> (b-a).hours
9. datetime表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间,如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。
获取当前时间: >>> from datetime import datetime
>>> now_time=datetime.now()>>> print(now_time)
2015-08-26 09:55:24.042232
>>> type(now_time)
<class 'datetime.datetime'>
说明:第二行中的datetime是datetime库中的类,所以now_time的类型是datetime.datetime日期类型
2. python中的所有类型有:字符串,布尔类型,整数,浮点数,数字,列表,元组,字典,日期
3. 获取指定日期,因为datetime模块中有一个datetime类,所以我们可以制定一个实例来获取某个具体时间
举例:>>> from datetime import datetime
>>> a=datetime(2015,01,06,12,12,12)
SyntaxError: invalid token
>>> a=datetime(2015,1,06,12,12,12)
SyntaxError: invalid token
>>> a=datetime(2015,1,6,12,12,12)
>>> a
datetime.datetime(2015, 1, 6, 12, 12, 12)
>>> print(a)
2015-01-06 12:12:12
说明:datetime类来创建实例的时候,初始化的值如果是单数的话不需要在前面加0
4. datetime转换为timestamp,实际上在计算机中,存储的日期并不是我们所看到的年月日,而是将年月日转换为浮点型数字进行存储的
举例: >>> a=datetime(1993,1,6,12,12,12)
>>> a.timestamp()
726293532.0
注意Python的timestamp是一个浮点数。如果有小数位,小数位表示毫秒数
5. timestamp转换为datetime,datetime类提供了一个fromtimestamp函数,调用这个函数可以将浮点型数值转换为datetime日期类型
举例: >>> a=726293532.0
>>> datetime.fromtimestamp(a)
datetime.datetime(1993, 1, 6, 12, 12, 12)
>>> print(datetime.fromtimestamp(a))
1993-01-06 12:12:12
6. str转换为datetime,转换方法是通过datetime.strptime()实现
举例: >>> a=datetime.strptime('1993-1-6 12:12:12','%Y-%m-%d %H:%M:%S')
>>> print(a)
1993-01-06 12:12:12
注意:字符串'%Y-%m-%d %H:%M:%S'规定了日期和时间部分的格式,时分秒必须全部大写,年月日其中年必须大写,月日必须小写
7. datetime的加减,是可以直接进行加减的,但必须引入timedelta()类
举例: >>> from datetime import timedelta
>>> a+timedelta(days=3,hours=4)
datetime.datetime(2015, 8, 29, 15, 11, 46, 774470)
8. 时间差
举例: >>> a=datetime.now()
>>> b=a+timedelta(days=3,hours=4)
>>> (b-a).days
3
>>> (b-a).seconds
14400
>>> (b-a).hours
9. datetime表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间,如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。