Python日期和时间的处理类datetime

Python日期和时间的处理类datetime

datetime是python的内置库。

获取当前日期和时间

from datetime import datetime

now = datetime.now()
print('current datetime:', now)

输出:

current datetime: 2019-04-24 20:24:51.866312

datetime是模块名称,datetime是datetime里面的一个类
datetime.now()返回的是当前时间,datetime类型

指定日期和时间

from datetime import datetime
# 年月日时分秒
dt = datetime(2019, 4, 24, 5, 6,7)
print( dt)

输出:

2019-04-24 05:06:07

timestamp时间戳

时间戳的意思是用一个数字表示时间,而0表示的是1970-1-1 00:00:00,每增长1秒就在0的基础上加一 时间就是1970-1-1 00:00:00 + 1秒。

from datetime import datetime

dt = datetime(2019, 4, 24, 5, 6,7)
print( dt.timestamp()) # 获取时间戳

输出:1556053567.0, 表示的意思是:在0的基础上增加类1556053567.0秒,时间就是1970-1-1 00:00:00开始过了 1556053567.0秒。

注意:其他语言都是整数,单位是毫秒,而python是浮点数,小数表示的是毫秒。

时间戳转datetime

from datetime import datetime


t = 1556053567.0
print(datetime.fromtimestamp(t))

输出:2019-04-24 05:06:07

str转换为datetime

from datetime import datetime

day = datetime.strptime('2019-4-24 18:19:59', '%Y-%m-%d %H:%M:%S')

print(day)
格式 含义 举例
%a 星期缩写 Mon Sun
%A 星期全称 Monday Sunday
%w 星期数字表示 0-6
%d 0-31
%b 月份简称 Jan Feb
%B 月份全称 January, Februar
%m 月份数字 1-12
%y 年简写 99 89
%Y 月份全写 1999 1989
%H 24小时 00 23
%I 12小时制 1-12
%p 上午下午 pm am
%M 分钟 00-59
%S 00-59
%% 输出% %

详情请阅读:strftime-strptime-behavior

datetime转换为str

from datetime import datetime

now = datetime.now()
print(now.strftime('%Y-%m-%d %H:%M'))

datetime加减

日期的加减就是对应的数字的加减,python中提供一个timedelta能够更方便的操作

from datetime import datetime,timedelta

now = datetime.now()
print(now)

print(now + timedelta(hours=5))

输出:

2019-04-24 20:50:21.114643
2019-04-25 01:50:21.114643 # 比上面多5小时

注意:只能+或-,不能其他数学运算。
可用的参数,没有年月

days=10, 
seconds=50,
microseconds=20,
milliseconds=30, 
minutes=10, 
hours=20, 
weeks=1
声明:原创文章,版权所有,转载请注明出处,https://litets.com。