网站后台安全,网站设计设计目的,最全的游戏网站,卫浴网站设计在日常开发的时候#xff0c;我们经常会遇到时间处理的问题#xff0c;代码示例爬虫过来的时间处理#xff0c;代码示例对库内的数据进行时间维度的统计等。虽然是个很简单的东西#xff0c;但每次用的时候都难免要再查一查#xff0c;其实这就是基础不夯实的表现。趁着今…在日常开发的时候我们经常会遇到时间处理的问题代码示例爬虫过来的时间处理代码示例对库内的数据进行时间维度的统计等。虽然是个很简单的东西但每次用的时候都难免要再查一查其实这就是基础不夯实的表现。趁着今天有空总结一下开发过程中最最最常见的日期时间格式和操作
常见日期时间类型
右滑可看到示例
日期时间对象的格式
对象格式即struct_time对象格式
字符串格式
浮点数格式
常见操作
我们一观察便知其实struct_time对象和浮点数格式都不是面向人类友好的格式一般我们会将它们往字符串形式转换
格式转换
将struct_time转换成字符串形式
将浮点数格式转换成字符串形式因为时间戳仅包含当前时间数据不包括日期数据因此我们要借用datetime实现这一转换
时间运算
时间计算无非是比较差值。照理说比较差值比较简单无非是加减算法但因为格式不一样就增加了很多不必要的麻烦。当然前人已经帮我们踩了很多的坑代码示例我们官方的datetime包就对此做了很好的支持我们要转换成统一的格式就只需要将调用datetime下的strptime即可
值得一提的是datetime中的timedelta函数可以很方便的计算日期时间代码示例我们一直现在的日期想要知道一周后的日期就可以通过它来实现
第三方干货库
虽然官方给出的两个库已经满足了大部分的需求但随着时间的推移业务需求越来越复杂官方的库可能无法满足我们的项目需求。这时候就需要引入一些第三方库了常见的有Maya、Arrow和Dateutil一般我用Arrow就已经足够了另外两个功能大同小异有兴趣的朋友可以自己探索
我们经常因为业务的需要统计月度季度或者年度的指标数据这个时候用arrwo就非常方便了他里面有三个重要的函数第一个是floor表示头部第二个是tail表示尾部我们用它们可以很方便地得到日、周、月、季度、年度的开始和结尾另外一个是shift它则可以更加灵活地以日、周、月、季、年为单位得获取时间
其他有趣补充
在探索日期时间的功能时我发现有timedelta字段觉得这个命名很有趣于是查了下这个的delta直译过来是三角洲的意思一查维基是
Delta大写Δ小写δ中文音译德尔塔、德耳塔
Delta 是三角洲的英文源自三角洲的形状像三角形如同大写的“Δ”
发现非常有趣原来命名是跟着人的感觉走的
小结
在学习的时候对自己不懂得东西要花时间归纳总结尤其是那些每次遇到都会卡壳的小问题虽然每次花时间不多但积累起来就浪费了大量的时间
学习的过程中可以对自己的好奇部分花一点时间探索有时候可能会收获意想不到的惊喜代码示例这次的delta命名。但要注意时间的控制
参考资料
Converting Strings to datetime in Python
time date datetme timestamp 傻傻分不清楚
python 获取当年、季度、月、日的开始和结束时间
Δ
知乎张小鸡
日拱一卒无有尽功不唐捐终入海