【Python数据分析】时间模块datetime


时间模块主要有:datetime.date(),datetime.datetime(),datetime.timedelta()

1.时间模块datetime

1.1 date

date主要用于获取日期,例如获取当前日期或者特定日期,获取的日期可以由str方法直接转化为字符串格式

from datetime import date
today = date.today() # 获取当天日期
print(today,type(today))         # 打印结果:2020-02-08 <class 'datetime.date'>
print(str(today),type(str(today)))    # 将日期转化为字符串,打印结果:2020-02-08 <class 'str'>

t = date(2016,1,6)   # 取得指定日期,格式为:date(年,月,日)
print(t,type(t)) # 打印结果:2016-01-06 <class 'datetime.date'>

1.2 datetime

datetime主要用于获取时间,例如获取当前时间或者特定时间,获取的时间可以由str方法直接转化为字符串格式

from datetime import datetime

now = datetime.now() # datetime.today()与 datetime.now()效果一样
print(now,type(now)) # 获取当前时间。打印结果:2020-02-08 13:22:42.283616 <class 'datetime.datetime'>
print(str(now),type(str(now))) # 可通过str转化为字符串,打印结果:2020-02-08 13:22:42.283616 <class 'str'>

t1 = datetime(2016,6,1)
t2 = datetime(2016,8,2,12,20,45) # 格式为(年,月,日,时,分,秒),至少输入年月日

print(t1) # 打印结果:2016-06-01 00:00:00

print(t2) # 打印结果:2016-08-02 12:20:45

print(t2-t1) # 62 days, 12:20:45

1.3 timedelta

timedelta主要作为时间差,主要用于时间的加减法,例如:获取昨天、上月等时间

import datetime
from datetime import timedelta
today = datetime.datetime.today()
yesterday = today - timedelta(1)

print(today) # 2020-02-08 14:21:35.572566
print(yesterday) # 2020-02-07 14:21:35.572566

2.日期解析方法dateutil.parser.parse

parse主要用于时间解析,可以直接将字符串转化为时间类型

from dateutil.parser import parse

date = '12-31-2019'
t = parse(date) # 将字符串转化为datetime.datetime
print(date,type(t)) # 12-31-2019 <class 'datetime.datetime'>

print(parse('2020-1-1'),'\n',
     parse('5/1/2019'),'\n',
     parse('5/1/2019', dayfirst = True),'\n',  # 国际通用格式中,日在月之前,可以通过dayfirst来设置
     parse('22/1/2019'),'\n',
     parse('Jan 31, 2019 10:45 PM'))
posted @ 2020-02-08 14:39  OLIVER_QIN  阅读(779)  评论(0编辑  收藏  举报