主要针对datetime类型的时间

以下为用举例的方式来说明在不同场景下,使用不同工具处理时间的方法

1、python对日期的处理

  • 功能1:日期相减后天数差值和秒差值
dt = datetime(2020, 1, 2, 2, 45, 2)
dt1 = datetime(2020, 1, 4, 0, 0, 1)
dx = dt1 - dt
dx.days,dx.seconds
  • 功能2:获取日期中的天数、分钟数、年月日组合、时分秒组合
dt.day
dt.minute
dt.date()
dt.time()
  • 功能3:格式化输出日期:
dt.strftime('%m/%d/%Y %H:%M')
# 01/02/2020 02:45
类型 描述
%Y 四位的年份
%y 两位的年份
%m 两位的月份 [01,12]
%d 两位的天数值 [01,31]
%H 小时制(24小时制)[0,23]
%I 小时制(12小时制)[01,12]
%M 两位的分钟值[00,59]
%S 秒值[00,61] (60,61)用于区分闰秒
%w 星期值[0(星期天),6]
%U 一年中的第几个星期[00,53]
%F %Y-%m-%d的缩写
%D %m/%d/%y的缩写

2、SQL对日期的处理

  • 功能1:日期相减(判断间隔是否1天)
    方式:
DATEDIFF(今天.date,昨天.date) = 1
  • 功能2:分年查询
select year(makedate) as year, count(id) as total from tb_record group by year;
  • 功能3:判断时间区间(between…and…)
SELECT # 仅在2019年春季售出的产品DISTINCT s.product_id,p.product_name
FROMSales AS sINNER JOIN Product AS pON s.product_id = p.product_id
WHEREs.product_id NOT IN(SELECT  # 在2019年春季之外出售过的产品DISTINCT product_idFROMSalesWHEREsale_date NOT BETWEEN '2019-01-01' AND '2019-03-31');

3、Pandas对日期的处理

  • 功能1:日期转换为datetime类型
    方式:
pd.to_datetime(日期)
  • 功能2:日期相减(求年龄)
csv_df['age'] = np.floor((pd.to_datetime('2018-7-1')-pd.to_datetime(csv_df.birthday))/timedelta(days=365))
  • 功能3:日期比较判断
from datetime import datetime
start_time =datetime(2019,1,1)
end_time=datetime(2019,12,31,23,59,59)order_df = order_df[(order_df.payTime>=start_time) & (order_df.payTime<=end_time)]
order_df.shape
  • 功能4:获取日期中的月份、星期
order_df['month']=order_df.orderTime.dt.month
order_df['weekday'] = order_df.orderTime.dt.weekday
  • 功能6:日期的近似取值
# floor('30T')表示向下取时间,已30分钟为界限,30分钟以内为0分钟,30分钟以上为30分钟
order_df['time'] = order_df.orderTime.dt.floor('30T')
#取出时间time,去掉年月日
order_df['time'] = order_df.time.dt.time
  • 功能7:只显示月和日
for i in range(len(df2)):df2.iloc[i,0] = pd.to_datetime(df2.iloc[i,0]).strftime("%m-%d")
df2.head()

4、Excel对日期的处理

  • 功能1:日期之间求差
  • 功能2:其他日期函数

功能 方式
该月最后一天 =DATE(YEAR(A2),MONTH(A2)+1,1)-1
该月最后一天 =EOMONTH(A2,0)
后一月最后一天 =EOMONTH(A3,1)
星期几 =TEXT(A4,“dddd”)
该月有多少天 =DAY(C3)
第几季度 =IF(MONTH(A2)/3<=1,1,IF(MONTH(A2)/3<=2,2,IF(MONTH(A2)/3<=3,3,4)))
第几季度 =ROUNDUP(MONTH(A3),0)

5、PowerBi对日期的处理

功能1:时间间隔
时间间隔小时:

时间间隔 = DATEDIFF([订单创建时间],[订单付款时间 ],HOUR)

时间间隔分钟:

时间间隔分钟 = DATEDIFF([订单创建时间],[订单付款时间 ],MINUTE)

python、pandas、Excel、Powerbi中对日期的处理方法相关推荐

  1. 【Python数据分析】利用Python删除EXCEL表格中指定的列数据或行数据

    如何利用Python删除EXCEL表格中指定的列数据?今天与大家一起分享一下DataFrame对象的drop()函数,drop()函数可根据标签删除EXCEL表格中的列数据或行数据,其语法格式如下: ...

  2. 【Python数据分析】利用Python替换EXCEL表格中指定的数据

    如何利用Python替换EXCEL表格中指定的数据?今天与大家一起分享一下DataFrame对象的replace()函数,replace()函数可EXCEl中的数据内容,其语法格式如下: 表达式.re ...

  3. python打开excel的函数-Python读取excel文件中带公式的值的实现

    在进行excel文件读取的时候,我自己设置了部分直接从公式获取单元格的值 但是用之前的读取方法进行读取的时候,返回值为空 import os import xlrd from xlutils.copy ...

  4. python打开excel数据库_使用python导入excel文件中的mssql数据库数据

    我试图用python导入excel文件中的mssql数据库数据.我的数据在excel表格中的顺序不正确.e. g它显示第1列数据,然后是第3列,第2列,然后是第4列,依此类推. 我使用以下脚本:imp ...

  5. 使用Python获取Excel文件中单元格公式的计算结果

    假设有如下Excel文件,其中第二个WorkSheet中数据如下: 其中D列为公式,现在要求输出该列公式计算的数值结果,代码如下: 代码运行结果: ----------相关阅读---------- 1 ...

  6. python 查找excel表格中重复的信息并标出来

    Python之PyMuPDF--批量处理一个PDF文件中发票的总金额提取 python 查找excel表格中重复的信息并标出来 python 提取excel表格中指定的关键字 python 批量修改文 ...

  7. 如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件?

    如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件? 1.问题描述 2.解决过程 2.1 问题分析: 2.2 解决思路 3.运行结果 1.问题描述 最近在处理一堆工 ...

  8. Python处理Excel表中单元格带有换行的数据

    Python处理Excel表中单元格带有换行的数据 文章目录 Python处理Excel表中单元格带有换行的数据 问题样式 实例问题 实例实现代码 实例结果 问题样式 在数据处理过程中常常会遇到这样一 ...

  9. python pandas 分割DataFrame中的字符串及元组

    python pandas 分割DataFrame中的字符串类型数据的方法 文章目录 1.使用str.split()方法 2.使用join()与split()方法结合 3. 使用apply方法分割元组 ...

最新文章

  1. 2021-2027年中国一体化预制泵站行业研究及前瞻分析报告
  2. 神经网络那些事儿(二)
  3. 【Java】Java枚举类型示例
  4. jQuery dataTable 操作个人使用总结
  5. android包内存放视频,Android性能优化:手把手教你如何让App更快、更稳、更省(含内存、布局优化等)...
  6. c语言中二叉树中总结点,C语言二叉树的三种遍历方式的实现及原理
  7. snmp获取交换机日志_日志审计系统和数据库审计系统的区别
  8. js符号转码_JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...
  9. 『教程』笔记本win7下自建Wifi热点–便于手机Wifi上网 (转 )
  10. 5.Docker之镜像的使用
  11. 前端基础学习之Html标签
  12. Unity Camera
  13. python画多边形太阳花
  14. 计算智能3--进化计算
  15. 噩梦射手(SurvivalShooter)教程(二)
  16. 计算识别率的matlab代码,基于MATLAB神经网络图像识别的高识别率代码
  17. vue实现一键换肤效果(白天晚上模式切换)
  18. #(二)、股市是混沌还是浑沌?
  19. Flowlayout流式布局使用(轻量级)
  20. 关于求解微分方程——初学Matlab里的 ODE求解器

热门文章

  1. virtualbox kali linux 安装小米随身wifi
  2. linux机械硬盘提速,这方法让机械硬盘秒变固态硬盘:速度爆表
  3. 论文阅读笔记《Neural Graph Matching Network: Learning Lawler’s Quadratic Assignment Problem With Extension》
  4. python中的英文歌_Python 爬网易音乐云歌曲,MV
  5. 深入理解git push
  6. html里如何打出五角星,html5中怎么做五角星
  7. Spark RDD API详解
  8. 水星USB无线网卡mw150us苹果macOS系统驱动成功
  9. 使用uniapp做微信小程序,在小程序编辑器运行时编译报错:appid不合法,导致启用不了。
  10. WPS添加下划线,文字尾部不显示下划线问题解决(一个So stupid问题)