Python中datetime模块的简单使用

目录

获取当前时间

获取当前日期

获取当前时间的tuple元组

时间移动

获取两个时间的时间差

时间格式转换


datetime在python中是用来处理时间的一个模块

datetime模块下又包含了几个类

类名 功能
date 日期对象,常用的属性有year, month, day
time 时间对象
datetime 日期时间对象,常用的属性有hour, minute, second, microsecond
timedelta 时间间隔,即两个时间点之间的长度
datetime_CAPI 日期时间对象C语言接口
tzinfo 时区信息对象

下面介绍datetime中比较常用的一些函数

获取当前时间

from datetime import datetime
>>> print ( datetime.now() )
2018-10-08 08:08:13.296957
>>> print ( type(datetime.now()) )
<class 'datetime.datetime'>         

获取当前日期

from datetime import datetime
>>> print ( datetime.now().date() )
2018-10-08
>>> print ( type(datetime.now().date() ) )
<class 'datetime.date'>                

获取当前时间的tuple元组

from datetime import datetime
>>> print( datetime.now().timetuple() )
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=8, tm_hour=8, tm_min=17, tm_sec=15, tm_wday=0, tm_yday=281, tm_isdst=-1)
>>> print( datetime.now().timetuple().tm_year)
2018

时间移动

使用datetime.timedelta这个方法来前后移动时间,可以用的参数有weeks,days,hours,minutes,seconds,microseconds。使用 days=1代表后一天,days=-1代表前一天,其他参数也一样

from datetime import datetime
from datetime import timedelta
>>>print( datetime.now() )
2018-10-08 08:25:49.546137
>>>print( datetime.now()+ timedelta(days=1))
2018-10-09 08:25:49.547196

获取两个时间的时间差

from datetime import datetime
>>>nowtime=datetime.now()
>>>utctime=datetime.utcnow()
>>>print( nowtime-utctime )
8:00:00
>>>print((nowtime-utctime).total_seconds())         ##以秒计算
28800.0

时间格式转换

datetime转str格式

from datetime import datetime
>>>print( datetime.now() )
2018-10-08 08:33:37.369422
>>>print( datetime.now().strftime("%Y-%m-%d %H-%M:%S") )
2018-10-08 08-33:37
>>>print( datetime.now().strftime("%Y-%m-%d") )
2018-10-08 
>>>print( datetime.now().strftime("%H-%M:%S") )
08-33:37

str格式转datetime

from datetime import datetime
>>>print( datetime.strptime("2018-10-08 09:00:00","%Y-%m-%d %H:%M:%S"))
2018-10-08 09:00:00
>>>print( type(datetime.strptime("2018-10-08 09:00:00","%Y-%m-%d %H:%M:%S")) )
<class 'datetime.datetime'>

datetime转timestamp

from datetime import datetime
import time
>>>now=datetime.now()
>>>print(now)
2018-10-08 08:51:42.215168
>>>print( time.mktime(now.timetuple()) )
1538959902.0                  ##现在距离1970-01-01 00:00:00的秒数

timestamp转datetime 

from datetime import datetime
>>>print( datetime.fromtimestamp(1538959902.0))
2018-10-08 08:51:42

猜你喜欢

转载自blog.csdn.net/qq_36119192/article/details/82963084