Python3之datetime

0.000 000 001 毫秒 = 1皮秒
0.000 001 毫秒 = 1纳秒
0.001 毫秒 = 1微秒
1000 毫秒 = 1秒
一秒等于1000毫秒,等于10的12次方皮秒.

获取当前日期和时间

>>> from datetime import datetime
>>> now = datetime.now() # 获取当前datetime
>>> print(now)  # 输出如下日期-时间(精确到微秒,小数点后6位)
2018-10-31 20:55:24.723183
>>> print(type(now))
<class 'datetime.datetime'>

注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类。
如果仅导入import datetime,则必须引用全名datetime.datetime。
datetime.now()返回当前日期和时间,其类型是datetime。

获取指定日期和时间

要指定某个日期和时间,我们直接用参数构造一个datetime:

>>> from datetime import datetime
>>> dt = datetime(2020, 10, 1 , 0 , 0)  # 用指定日期时间创建datetime
>>> print(dt)
2020-10-01 00:00:00

datetime加减

对日期和时间进行加减实际上就是把datetime往后或往前计算,得到新的datetime。加减可以直接用+和-运算符,不过需要导入timedelta这个类:

>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2015, 5, 18, 16, 57, 3, 540997)
>>> now + timedelta(hours=10)
datetime.datetime(2015, 5, 19, 2, 57, 3, 540997)
>>> now - timedelta(days=1)
datetime.datetime(2015, 5, 17, 16, 57, 3, 540997)
>>> now + timedelta(days=2, hours=12)
datetime.datetime(2015, 5, 21, 4, 57, 3, 540997)

使用timedelta你可以很容易地算出前几天和后几天的时刻。

>>> from datetime import datetime
>>> a1 = datetime.now()
>>> a1
datetime.datetime(2018, 10, 31, 20, 43, 59, 93209)
>>> a2 = datetime.now()
>>> a2
datetime.datetime(2018, 10, 31, 20, 44, 22, 511396)
>>> a = a2 - a1
>>> a
datetime.timedelta(0, 23, 418187)
>>> a.seconds
23
>>> dir(a)
['__abs__', '__add__', '__bool__', '__class__', '__delattr__',
'__dir__', '__divmod__', '__doc__', '__eq__', '__floordiv__',
'__format__', '__ge__', '__getattribute__', '__gt__',
'__hash__', '__init__', '__init_subclass__', '__le__',
'__lt__', '__mod__', '__mul__', '__ne__', '__neg__',
'__new__', '__pos__', '__radd__', '__rdivmod__',
'__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', 
'__rmod__', '__rmul__', '__rsub__', '__rtruediv__', 
'__setattr__', '__sizeof__', '__str__', '__sub__', 
'__subclasshook__', '__truediv__', 

'days', 'max', 'microseconds', 'min', 'resolution', 
'seconds', 'total_seconds']

python的格式化符号

时间和日期格式化符号说明:

# 常用
%y # 两位数的年份表示(00-99)
%Y # 四位数的年份表示(000-9999)

%m # 月份(01-12)

%d # 月内中的一天(0-31)

%H # 24小时制小时数(0-23)
%I # 12小时制小时数(01-12) 

%M # 分钟数(00=59)

%S # 秒(00-59)
 
 
 # 扩展
%a # 本地简化星期名称
%A # 本地完整星期名称

%b # 本地简化的月份名称
%B # 本地完整的月份名称

%c # 本地相应的日期表示和时间表示
%j # 年内的一天(001-366)
%p # 本地A.M.或P.M.的等价符
%U # 一年中的星期数(00-53)星期天为星期的开始
%w # 星期(0-6),星期天为星期的开始
%W # 一年中的星期数(00-53)星期一为星期的开始
%x # 本地相应的日期表示
%X # 本地相应的时间表示
%Z # 当前时区的名称
%% # %号本身

猜你喜欢

转载自blog.csdn.net/llf_cloud/article/details/83590587