1介绍datetime库之前 我们先比较下time库和datetime库的区别

先说下time

在 Python 文档里,time是归类在Generic Operating System Services中,换句话说, 它提供的功能是更加接近于操作系统层面的。通读文档可知,time 模块是围绕着 Unix Timestamp 进行的。

该模块主要包括一个类 struct_time,另外其他几个函数及相关常量。 需要注意的是在该模块中的大多数函数是调用了所在平台C library的同名函数, 所以要特别注意有些函数是平台相关的,可能会在不同的平台有不同的效果。另外一点是,由于是基于Unix Timestamp,所以其所能表述的日期范围被限定在 1970 – 2038 之间,如果你写的代码需要处理在前面所述范围之外的日期,那可能需要考虑使用datetime模块更好

所以 一般情况下我们用datetime库就可以解决大部分问题

2说完了datetime与time的区别 先别着急 我们再来说下datetime和pandas时间序列分析和处理Timeseries

pandas 最基本的时间序列类型就是以时间戳(TimeStamp)为 index 元素的 Series 类型。

pandas库想必大家非常熟悉了,这里不再多说。这个方法的实用性在于,当需要批量处理时间数据时,无疑是最好用的。

pandas时序数据文件读取dateparse = lambda dates: pd.datetime.strptime(dates, '%Y-%m')

data = pd.read_csv('AirPassengers.csv', parse_dates='Month', index_col='Month',date_parser=dateparse)

print data.head()

read_csv时序参数

parse_dates:这是指定含有时间数据信息的列。正如上面所说的,列的名称为“月份”。

index_col:使用pandas 的时间序列数据背后的关键思想是:目录成为描述时间数据信息的变量。所以该参数告诉pandas使用“月份”的列作为索引。

date_parser:指定将输入的字符串转换为可变的时间数据。Pandas默认的数据读取格式是‘YYYY-MM-DD HH:MM:SS’?如需要读取的数据没有默认的格式,就要人工定义。这和dataparse的功能部分相似,这里的定义可以为这一目的服务。The default usesdateutil.parser.parserto do the conversion.

最后 ,我们看下pandas库中的to_datime函数:pandas.to_datetime(arg,errors ='raise',utc = None,format = None,unit = None )

参数 意义

errors 三种取值,‘ignore’, ‘raise’, ‘coerce’,默认为raise。

‘raise’,则无效的解析将引发异常

‘coerce’,那么无效解析将被设置为NaT

‘ignore’,那么无效的解析将返回输入值

utc 布尔值,默认为none。返回utc即协调世界时。

format 格式化显示时间的格式。

unit 默认值为‘ns’,则将会精确到微妙,‘s’为秒。

举个小例子:df = pd.DataFrame({'year': [2015, 2016],

'month': [2, 3],

'day': [4, 5]})

pd.to_datetime(df)

#0 2015-02-04

#1 2016-03-05

#dtype: datetime64[ns]

#可以看到将字典形式时间转换为可读时间

2、

pd.to_datetime('13000101', format='%Y%m%d', errors='ignore')

#datetime.datetime(1300, 1, 1, 0, 0)

pd.to_datetime('13000101', format='%Y%m%d', errors='coerce')

#NaT

#如果日期不符合时间戳限制,则errors ='ignore'将返回原始输入,而不会报错。

#errors='coerce'将强制超出NaT的日期,返回NaT。

3最后我们来说下datetime库的最终用法

datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1.

datetime模块定义了5个类,分别是

1.datetime.date:表示日期的类

2.datetime.datetime:表示日期时间的类

3.datetime.time:表示时间的类from datetime import date

from datetime import datetime

from datetime import time

from datetime import timedelta

from datetime import tzinfo

from datetime import * #不知道用啥 全部导入就可以

4.datetime.timedelta:表示时间间隔,即两个时间点的间隔

5.datetime.tzinfo:时区的相关信息

一、首先看一下datetime.date类:

date类有三个参数,datetime.date(year,month,day),返回year-month-day

方法:

1.datetime.date.ctime(),返回格式如 Sun Apr 16 00:00:00 2017

2.datetime.date.fromtimestamp(timestamp),根据给定的时间戮,返回一个date对象;datetime.date.today()作用相同

3.datetime.date.isocalendar():返回格式如(year,month,day)的元组,(2017, 15, 6)

4.datetime.date.isoformat():返回格式如YYYY-MM-DD

5.datetime.date.isoweekday():返回给定日期的星期(0-6)星期一=0,星期日=6 这里表明下python3中是从[1-7]表示的 就是本来是星期几现在显示就是星期几

6.datetime.date.replace(year,month,day):替换给定日期,但不改变原日期

7.datetime.date.strftime(format):把日期时间按照给定的format进行格式化。

8.datetime.date.timetuple():返回日期对应的time.struct_time对象time.struct_time(tm_year=2017, tm_mon=4, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=105, tm_isdst=-1)

9.datetime.date.weekday():返回日期的星期

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 当前时区的名称

%% %号本身

二、看一下datetime的time类

time类有5个参数,datetime.time(hour,minute,second,microsecond,tzoninfo),返回08:29:30

1.datetime.time.replace()

2.datetime.time.strftime(format):按照format格式返回时间

3.datetime.time.tzname():返回时区名字

4.datetime.time.utcoffset():返回时区的时间偏移量

三、datetime的datetime类

datetime类有很多参数,datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]),返回年月日,时分秒

datetime.datetime.ctime()

datetime.datetime.now().date():返回当前日期时间的日期部分

datetime.datetime.now().time():返回当前日期时间的时间部分

datetime.datetime.fromtimestamp()

datetime.datetime.now():返回当前系统时间

datetime.datetime.replace()

datetime.datetime.strftime():由日期格式转化为字符串格式datetime.datetime.now().strftime('%b-%d-%Y %H:%M:%S')

'Apr-16-2017 21:01:35'

datetime.datetime.strptime():由字符串格式转化为日期格式datetime.datetime.strptime('Apr-16-2017 21:01:35', '%b-%d-%Y %H:%M:%S')

2017-04-16 21:01:35

四、datetime的timedelta类

datetime.datetime.timedelta用于计算两个日期之间的差值,例如:a=datetime.datetime.now()

b=datetime.datetime.now()

a

datetime.datetime(2017, 4, 16, 21, 21, 20, 871000)

b

datetime.datetime(2017, 4, 16, 21, 21, 29, 603000)

b-a

datetime.timedelta(0, 8, 732000)

(b-a).seconds

8

或者time1 = datetime.datetime(2016, 10, 20)

time2 = datetime.datetime(2015, 11, 2)

"""计算天数差值"""

print(time1-time2).days

"""计算两个日期之间相隔的秒数"""

print (time1-time2).total_seconds()

到此这篇关于python3中datetime库,time库以及pandas中的时间函数区别与详解的文章就介绍到这了,更多相关python3 datetime库,time库以及pandas时间函数内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

python获取系统时间函数_python3中datetime库,time库以及pandas中的时间函数区别与详解...相关推荐

  1. python时间函数报错_python3中datetime库,time库以及pandas中的时间函数区别与详解...

    1介绍datetime库之前 我们先比较下time库和datetime库的区别 先说下time 在 Python 文档里,time是归类在Generic Operating System Servic ...

  2. python获取系统时间为字符串_python怎么获取系统当前的时间

    python获取系统当前的时间的方法:可以利用datetime.datetime.now()函数来获取.具体方法:1.导入datetime包:2.获取当前的时间,如[curr_time = datet ...

  3. python 获取系统相关编码的函数

    怎么避免UnicodeEncodeError: 'ascii' codec can't-类似的错误? 1.首先在py文件头部指定文件内容编码,例如:# coding: utf8 2.文件保存的时候要和 ...

  4. Python获取系统时间

    Python获取系统时间 Python获取系统时间方法: 1. 导入模块: import datetime 2. 获取当前时间: theTime = datetime.datetime.now() 得 ...

  5. python获取系统硬件信息

    python获取系统硬件信息 github项目 https://github.com/giampaolo/psutil cpu,内存,etc.

  6. python获取系统内存占用信息的实例方法

    psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控, ...

  7. 站长在线Python精讲:Python中集合的交集、并集、差集和对称差集运算方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中集合的交集.并集.差集和对称差集运算方法详解>.主要讲的是集合运算的相关的概念,及运算方法,包括:集合的交集. ...

  8. [Python从零到壹] 六十四.图像识别及经典案例篇之图像傅里叶变换和傅里叶逆变换详解

    祝大家新年快乐,阖家幸福,健康快乐! 欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所 ...

  9. 计算机曝光模式有哪些,摄影:单反相机中P、A、S、M四种曝光模式的用法详解 -电脑资料...

    这篇教程是向脚本之家的朋友介绍单反相机中P.A.S.M四种曝光模式的用法,对于摄影爱好者非常值得学习,推荐到脚本之家,喜欢的朋友一起来看看吧 很多朋友在初接触单反相机时对相机的P.A.S.M四种曝光模 ...

最新文章

  1. 右键菜单添加程序,指定图标, Notepad2、Sublime Text 2
  2. 大型互联网网站架构心得之二:并、换和其它(转)
  3. Oracle MD5加密
  4. 支持向量机概念图解_支持向量机:基本概念
  5. CSS的三种定位,月薪30K
  6. Bootstrap 弹出提示插件popover 的使用方法
  7. python官网中cloudword在哪_Py之wordcloud:python中非常有趣的词云图wordcloud简介、安装、使用方法...
  8. 你真的知道如何在 GitHub 上高效搜索开源项目吗?
  9. 这一年很幸运,平平淡淡的|2021 年度总结
  10. 【基于Android的连连看游戏的设计与实现】
  11. untiy Resorces目录动态加载资源
  12. 花生采摘(peanuts)
  13. 如何利用训练好的神经网络进行预测
  14. 金融分析之基本ma5 及金叉、死叉
  15. Unity 开发 Hololens2 MR应用程序
  16. Java第五课. 类对象
  17. 双非生源30%,计科评级“A-”,中南计算机性价比超高
  18. SpringBoot第 5 讲:SpringBoot+properties配置文件读取
  19. 生活随想之八十年代人
  20. JAVA 实现Excel导出下拉字符超出255字符(建议收藏!)

热门文章

  1. yolo类检测算法解析——yolo v3
  2. 有趣的c语言程序Code,一个有趣的小程序
  3. access导出MySQL表格_将ACCESS 的数据库中的表的文件 导出了EXCEL格式
  4. python自动化测试框架pytest.pdf_Python自动化测试框架
  5. xp工作组计算机打不开,XP“网上邻居”、“查看工作组计算机”打不开及无法访问局...
  6. php常量 变量,php语言的变量和常量
  7. java shape 空间操作类_设计三个类:几何形状类(Shape)、圆类(Circle)、矩形类(.,请编写 Java程序,设计一个“形状rdquo...
  8. 秒杀系统架构优化思路
  9. 常用的linux命令和工具
  10. mvn 打包可执行包_如何用Maven打包可执行jar包