「关注我,和我一起放下灵魂,让灵魂去搬砖。」

Python时间序列

Python版本3.8.0,开发工具:Pycharm

时间模块需要了解的三个概念:时间戳、时间元组、日期字符串

时间戳:(timestamp)时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数

时间元组:(struct_time)时间元组是用一个元组装起来的9组数字处理时间

日期字符串:一串显示日期的字符串(注意是字符串,不是时间)

# 注:同一时间的三种不同显示方式

# 时间戳

1574851524.1845107

# 时间元组

本地时间为 : time.struct_time(tm_year=2019, tm_mon=11, tm_mday=27, tm_hour=18, tm_min=45, tm_sec=24, tm_wday=2, tm_yday=331, tm_isdst=0)

# 日期字符串

2019-11-27 18:45:24

Python 标准库包含用于日期(date)和时间(time)数据的数据类型,而且还有日历方面的功能。在做数据分析的过程中,我们主要会用到datetime、time 以及calendar 模块,其中datetime 是用的最多的。

time:处理时间的模块,如获取时间戳,格式化日期等

datetime:date 和time 的结合体,处理日期和时间

calendar:日历相关的模块,如:处理年历/月历

datetime 模块

datetime 以毫秒形式存储日期和时间。

from datetime import datetime

now = datetime.now()

print(now)

# 可以输出当前时间的年月日

print('year: {0}, month: {1}, day: {2}'.format(now.year, now.month, now.day))

# 输出

2019-11-27 18:45:24.184510

year: 2019, month: 11, day: 27

datetime.timedelta 表示两个datetime 对象之间时间差

from datetime import timedelta

start = datetime.now()

# 输出昨天的日期

new_time = start+timedelta(-1)

print(new_time)

# 输出

2019-11-26 18:45:24.184510

datetime 模块中的数据类型

类型

说明

date

以公历形式存储日历日期(年、月、日)

time

将时间存储为时、分、秒、毫秒

datetime

存储日期和时间

timedelta

表示两个datetime 值之间的查(日、秒、毫秒)

datetiem 模块时间戳和字符串的互转必须通过datetime 时间格式进行过渡

时间戳 -> datetime 时间格式 -> 日期字符串

# 获取当前时间戳

timestamp = time.time()

# 时间戳timestamp 转datetime时间格式

datetime_time = datetime.fromtimestamp(timestamp)

# datetime时间格式转为日期字符串

datetime_str = datetime_time.strftime("%Y-%m-%d %H:%M:%S")

print(datetime_str)

# 输出

2019-11-27 18:53:03

日期字符串 -> datetime 时间格式 -> 时间戳

# 定义日期字符串

datetime_str = '2019-11-30 00:00:01'

# 日期字符串转为datetime时间格式

datetime_time = datetime.strptime(datetime_str, '%Y-%m-%d %H:%M:%S')

# datetime时间格式转为时间戳

datetime_timestamp = time.mktime(datetime_time.timetuple())

print(datetime_timestamp)

# 输出

1575043201.0

注:

常用的基本操作为字符串转日期和日期转字符串,即以上转换的后半节和前半节

注意strftime 函数和strptime 函数的用法

time模块

了解time模块之前需要先知道什么是时间元组,元组大家都知道,那时间元组也就和它字面意思一样,存的是时间

时间元组struct_time结构属性

序号

属性

0

tm_year

2008

1

tm_mon

1 到 12

2

tm_mday

1 到 31

3

tm_hour

0 到 23

4

tm_min

0 到 59

5

tm_sec

0 到 61 (60或61 是闰秒)

6

tm_wday

0到6 (0是周一)

7

tm_yday

一年中的第几天,1 到 366

8

tm_isdst

是否为夏令时,值有:1(夏令时)、0(不是夏令时)、-1(未知),默认 -1

import time

localtime = time.localtime(time.time())

print("本地时间为 :", localtime)

# 输出

本地时间为 : time.struct_time(tm_year=2019, tm_mon=11, tm_mday=27, tm_hour=18, tm_min=56, tm_sec=3, tm_wday=2, tm_yday=331, tm_isdst=0)

time 模块时间戳和字符串的互转也必须通过时间元组进行过渡

时间戳 -> 时间元组 -> 日期字符串

# 获取当前时间戳

timestamp = time.time()

# 时间戳timestamp 转时间元组

time_tuple = time.localtime(timestamp)

# 时间元组转为日期字符串

time_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)

print(time_str)

# 输出

2019-11-27 18:56:03

日期字符串 -> 时间元组 -> 时间戳

# 定义日期字符串

time_str = '2019-11-30 00:00:01'

# 日期字符串转为时间元组

time_tuple = time.strptime("2019-11-30 00:00:01", "%Y-%m-%d %H:%M:%S")

# 时间元组转为时间戳

timestamp = time.mktime(time_tuple)

print(timestamp)

# 输出

1575043201.0

注:

strftime 函数是将时间元组转换为日期字符串

strptime 函数是将字符串转换为时间元组

calendar模块(日历模块)

calendar模块的函数都是与日历相关的,比如打印某个月的日历等

import calendar

# 判断2019年是不是闰年

print(calendar.isleap(2019))

# 打印2019年11月的日历

print(calendar.month(2019, 11))

# 返回2019年11月15号是星期几(0是星期一,依次类推)

print(calendar.weekday(2019, 11, 15))

# 输出

False

November 2019

Mo Tu We Th Fr Sa Su

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30

4

对于datetime、time 和calendar 三个时间模块,重点掌握datetime 模块,且datetime 模块中重点掌握字符串和日期的互相转换。

下节将介绍Python 数据库操作

系列文章传送门

Python系列

Python系列会持续更新,从基础入门到进阶技巧,从编程语法到项目实战。若您在阅读的过程中发现文章存在错误,烦请指正,非常感谢;若您在阅读的过程中能有所收获,欢迎一起分享交流。

如果你也想和我一起学习Python,可以关注我的微信公众号

学习Python,我们不只是说说而已

python时间序列教学_Python入门进阶教程-时间序列相关推荐

  1. python教程自带数据库_Python入门进阶教程-数据库操作

    Python数据库操作Python版本3.8.0,开发工具:Pycharm 建议本节在掌握了数据库相关操作后再进行学习 MySQL 是最流行的关系型数据库管理系统.本小节通过Python对MySQL数 ...

  2. python elif 用法_Python入门高级教程--Python 条件语句

    Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和 ...

  3. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  4. python绘制饼图双层_Python入门进阶:Python绘制饼图到Microsoft Excel

    原标题:Python入门进阶:Python绘制饼图到Microsoft Excel 来自:Linux迷https://www.linuxmi.com/python-pie-chart-microsof ...

  5. 怎么用python画饼状图_Python入门进阶:Python绘制饼图到Microsoft Excel

    原标题:Python入门进阶:Python绘制饼图到Microsoft Excel 来自:Linux迷https://www.linuxmi.com/python-pie-chart-microsof ...

  6. python基础教程运行程序_Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

  7. python高级教程_Python高级进阶教程

    这个系列的教程是在刘金玉编程的<零基础python教程>基础上的高级进阶应用. 教程列表: Python高级进阶教程001期 pycharm+anaconda3+pyqt5可视化界面开发环 ...

  8. python3简明教程第二版答案_python入门简明教程?求最新的python简明教程,最好是python3的...

    本人对于计算机没有任何基础,只是简单的操作.过两天要学习python语言的基础课,需要如何准备.跪谢! 先看python的简明教程,然后可以再看<dive into python>中文版( ...

  9. python读取excel画出饼状图_Python入门进阶:Python绘制饼图到Microsoft Excel

    原标题:Python入门进阶:Python绘制饼图到Microsoft Excel 来自:Linux迷https://www.linuxmi.com/python-pie-chart-microsof ...

最新文章

  1. python print 的使用方法
  2. java sublist_Java Vector subList()方法与示例
  3. 374. Guess Number Higher or Lower
  4. python自动化测试-Python自动化测试入门,看这一篇就足以
  5. js系列教程10-canvas绘图全解
  6. ceph rbd 封装api
  7. 0基础入门VTD-实操静态道路建模3
  8. 【BDTC 2016】专访中兴飞流吕阿斌、郑龙:Yita,基于数据流的大数据计算引擎...
  9. 如何合理布局浏览器网页!
  10. 梁宇轩 mysql 语句学习一 对表的操作
  11. 电信光猫天翼网关usb插U盘共享文件
  12. 【大数据处理】广州餐饮店铺爬虫并可视化,上传至hdfs
  13. cdma特有效应_CDMA九问九答
  14. 计算机网络基础课代表工作总结,中学信息技术教学工作总结
  15. 卸载ncurses_Linux下程序库Ncurses显示中文乱码的解决方法
  16. 教你5分钟做成一个ASP论坛
  17. 冲击IPO,罗胖画了一张终身教育大饼
  18. 服务器怎么防勒索病毒
  19. SQL Server2016 配置管理器
  20. McAfee VirusScan DAT(转)

热门文章

  1. HDU-4540 威威猫系列故事——打地鼠
  2. 大众汽车用html写出来代码,大众车系常用系统初始化方法及匹配编码
  3. Android10.0(Q) 默认应用设置(电话、短信、浏览器、主屏幕应用)
  4. UIKit基础:16-小游戏之舒尔特表
  5. 登录页面html引入vue,用vue写简单的登录注册总结
  6. 张飞硬件开发视频第五部电路详细讲解,纯硬件也可以做PWM波
  7. 基于ThinkPHP开发的企业建站程序完整版源码
  8. SDRAM学习笔记(eg. W9825G6KH)
  9. ADC0809 VHDL控制程序
  10. 什么是知识产权评估?