因为一些小组件的需求是区分白天和晚上,比如我晚上就不希望树莓派的 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 设置有问题,原来默认就是这样,这大括号的位置,真是一言难尽
本站广告由 Google AdSense 提供
0条评论