前端时间推出了一个摸鱼APP,这篇文章将为大家介绍基于Python绘制一个摸鱼倒计时界面,文中的示例代码讲解详细,感兴趣的可以学习一下。编程学习资料免费白嫖领取
前言
前段时间在微博看到一段摸鱼人的倒计时模板,感觉还挺有趣的。
于是我用了一小时的时间写了个页面出来 摸鱼办地址 (当然是摸鱼的时间啦)。
模板是这样的:
摸鱼办公室 🐟
【摸鱼办公室】今天是 2021-11-30 星期二
你好,摸鱼人,工作再累,一定不要忘记摸鱼哦 ! 有事没事起身去茶水间去廊道去天台走走,别老在工位上坐着。多喝点水,钱是老板的,但命是自己的 !
🐟 距离 周末 放假还有 2 天
🐟 距离 元旦 放假还有 3 天
🐟 距离 过年 放假还有 34 天
🐟 距离 清明节 放假还有 97 天
🐟 距离 劳动节 放假还有 123 天
🐟 距离 端午节 放假还有 156 天
🐟 距离 中秋节 放假还有 255 天
🐟 距离 国庆节 放假还有 276 天
- 由于前端是单页面服务,直接撸一个原始的 html 网页就行。
- FastAPI 对于异步请求是一把好手、更轻、性能更佳。
- 挂上一层 Nginx 让它看起来像那么回事儿。
实现过程
首先要知道、除了静态文字之外的比如当前日期、距离节日放假的天数等都是动态返回的,我需要使用 Jinja2 模板进行动态绑定。
我应该把重点放在时间的处理上。
而且在这个模板中,有阳历的节日,也是阴历的节日,我需要转换。
初始化一个 FastAPI 对象并声明静态页面的模板目录 (Jinja2Templates)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
可以看到的是我用到了 zhdate 这个库、主要用于阴历和阳历之间的相互转换。用法如下
1 2 3 4 5 6 7 8 9 |
|
我们可以梳理一下:
计算距离 大年、元旦 的天数时,要在年份上 +1
计算距离 其他节日 的天数时,要判断天数差是否小于 0,如果是,则年份需要 +1,因为已经过去的节日对此没有意义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|