作者:JiawuZhang 出品:JiawuLab(ID:jiawulab)
微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码、逻辑分析,达到python学习目的。
大家好,我是JiawuZhang,本期微项目是——事件倒计时。
上期分享的微项目——双十一优惠计算器,您看过吗?如果感兴趣,传送门:Python微项目分享之双十一优惠计算器
项目介绍
“11月11日0点0分0秒!”
你是不是也在等着这个时间?
看看电视,玩玩手机,刷刷购物车,只为等着这个时间到来。
图片来自网络
我老婆也是这样,为了0点的到来,能更清醒的付款,她提前在5点补了两小时的睡眠。
现在的状况就是,打开电视,放着奇葩说当背景音乐(平日可是很认真的观看,哎。。。)
然后刷着手机,对着手抄版的购物车商品,做着最后的检阅工作
我觉得平时工作状态,肯定都没有这阵势。
于是就想到之前做过的一个事件倒计时功能。
此时此刻,可以改为另一个名字——双十一倒计时。
项目分析
我们来分析一下,当拿到这个需求后,应该怎么开始呢。
1、需要获得事件名称和目标时间,所以想到了“input()”,我们连着两期都会经常用到,是一个很熟悉的方法
2、计算时间差,这里就需要先获得现在的时间,需要用到“datetime”模块,可获得日期的功能,再计算现在时间到目标时间的差
这里有个坑需要踩,就是目标时间是输入进来的,属于“字符串”类型,但“datetime”获得现在时间类型不同
所以需要进行类型转换,这个我们后面码代码中会演示。
3、有了时间差,就可以做倒计时,这里需要用到“print”的一种属性,可以达到这个要求
码代码
项目过程分析后,是不是觉得很简单,但是如果真的动手来写时,就会发现,有些点需要想的更多点
比如目标时间输入“2019.11.11”、“2019/11/11”、“2019-11-11”,都应该可以,如果只支持一种,程序限制太大
比如时间差,我们希望能分出多少天、多少小时、多少分钟、多少秒,这样就需要将时间差分解
这两个点,是不是觉得没有想的那么容易了,项目很简单,但是要想写好,需要多想点
我们来分解成,一步步的过程:
1、获得事件名称和目标时间
2、时间格式转化
3、倒计时
好了,分解结束,我将完整代码贴出来,并做项目结果的演示。
完整代码
废话不多说,直接上代码:
演示效果如下:
一个简单的事件倒计时功能就完成了,演示效果还不错。
当然,你还可以按自己的需求,丰富更多功能。
比如,倒计时结束后,可以设置电脑发出声音提醒等。
另外,我正在做一个新项目,就是把倒计时中一部分代码进行改造,结合图片自动生成,与公众号做联动。
目前项目做最后的调试,等上线了,会与大家分享的。
好了,离双十一狂欢夜只剩一个多小时,大家准备准备,拼手速的时候到了。
本次的微项目——事件倒计时——分享结束。