因为一些小组件的需求是区分白天和晚上,比如我晚上就不希望树莓派的 oled 亮(光污染),自然就的判断时间,但是Linux 大多数时候安装完时区都是不对的,手动修正下吧。
timedatectl set-timezone Asia/Shanghai
然后可以使用以下命令判断时间是否正确:
date -R
判断白天晚上:
int isDayNight() { time_t now; struct tm *time_now; time(&now); time_now = localtime(&now); if (time_now->tm_hour >= 6 && time_now->tm_hour <= 22) //6:00 ~ 22:00 { printf("day\n"); return 0; } else { printf("night\n"); return 1; } }
用法:
if (isDayNight()) { // 清除屏幕内容 } else { // 读取系统信息 }
需要的头文件:
#include <time.h> #include <stdio.h>
以上。
以前总觉得他们 C/C++的 code format 设置有问题,原来默认就是这样,这大括号的位置,真是一言难尽
本站由以下主机服务商提供服务支持:
0条评论