python和pandas 时间处理

python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模块会被经常用到。
datetime以毫秒形式存储日期和时间,datetime.timedelta表示两个datetime对象之间的时间差。给datetime对象加上或减去一个或多个timedelta,会产生一个新的对象

python和pandas 时间处理_第1张图片

阅读路线:

  • python 中datetime 模块的使用
  • pandas 中 to_datetime模块的使用
  • 工作中常用的时间操作
一: python 中datetime模块使用
from datetime import datetime
from datetime import timedelta
now = datetime.now()
print(now)
#输出结果如下:datetime.datetime(2019, 9, 7, 15, 52, 52, 249151)
delta = now - datetime(2017,6,27,10,10,10,10)
print(delta)
#结果为:72 days, 5:49:07.559481
print(delta.days)
结果为:72
print(delta.seconds)
结果为:20947
print(delta.microseconds)
结果为:559481

其中datetime参数如下:datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])

二:pandas 中to_datetime 使用

date=['2017-6-26', '2017-6-27']
import pandas as pd
print(pd.to_datetime(date))
#输出结果为:DatetimeIndex(['2017-06-26', '2017-06-27'], dtype='datetime64[ns]', freq=None)

三:工作中常见时间操作

1.获取当前日期
import datetime
print(datetime.date.today())
#输出结果为:2019-09-07
2.把日期转成字符串
import datetime
today_date=str(datetime.date.today())
print(today_date)
#输出结果为:'2019-09-07'
3.把字符串转成日期
from datetime import datetime
text = '2019-09-07'
y = datetime.strptime(text, '%Y-%m-%d')
print(y)
#输出结果为:2019-09-07
4.当前日期的前后n日期
import datetime
from datetime import timedelta
print(datetime.date.today()+timedelta(days=-1))
#输出结果为:2019-09-06,表示当天日期前一天
4.获得某一日期的月初和月末
from datetime import datetime
text='2019-09-07'
month_first=datetime.strptime(text[:8]+'01','%Y-%m-%d')
print(month_first)
#输出结果为:2019-09-01 00:00:00
month_end=datetime.strptime(text[:5]+str(int(text[5:7])+1)+'-01','%Y-%m-%d')+timedelta(days=-1)
print(month_end)
输出结果为:2019-09-30 00:00:00
5. 转换UNIX时间戳为普通时间
from datetime import datetime
timeStamp = 1381419600
dateArray = datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
print (otherStyleTime)  
输出结果为:2013-10-10 15:40:00

在后面遇到关于时间日期问题时,还会慢慢再来做补充

你可能感兴趣的:(python和pandas 时间处理)