lvgl 获取当前时间
时间: 2024-01-26 08:14:34 浏览: 264
以下是使用LVGL库获取当前时间的示例代码:
```c
#include <stdio.h>
#include "lvgl/lvgl.h"
void create_time_label(lv_obj_t *parent)
{
lv_obj_t *time_label = lv_label_create(parent, NULL);
lv_label_set_text(time_label, "00:00:00");
lv_obj_align(time_label, NULL, LV_ALIGN_CENTER, 0, -20);
lv_obj_t *date_label = lv_label_create(parent, NULL);
lv_label_set_text(date_label, "2022-01-01");
lv_obj_align(date_label, NULL, LV_ALIGN_CENTER, 0, 20);
}
void update_time_label(lv_obj_t *time_label, lv_obj_t *date_label)
{
// 获取当前时间
time_t now;
struct tm *timeinfo;
time(&now);
timeinfo = localtime(&now);
// 格式化时间和日期
char time_str[9];
char date_str[11];
strftime(time_str, sizeof(time_str), "%H:%M:%S", timeinfo);
strftime(date_str, sizeof(date_str), "%Y-%m-%d", timeinfo);
// 更新标签内容
lv_label_set_text(time_label, time_str);
lv_label_set_text(date_label, date_str);
}
int main(void)
{
// 初始化LVGL库
lv_init();
// 创建界面
lv_obj_t *scr = lv_obj_create(NULL, NULL);
lv_scr_load(scr);
// 创建时间和日期标签
create_time_label(scr);
// 持续更新时间和处理LVGL任务
while (1) {
lv_task_handler();
update_time_label(time_label, date_label);
lv_tick_inc(10);
lv_delay_ms(10);
}
return 0;
}
```
阅读全文