C++ 光子的格式和显示时间
我正在尝试在连接到粒子光子的OLED板上显示当前时间C++ 光子的格式和显示时间,c++,C++,我正在尝试在连接到粒子光子的OLED板上显示当前时间 void loop() { time_t time = Time.now(); Time.format(time, '%Y-%m-%dT%H:%M:%S%z'); displayString(time); } int displayString(String text) { display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHI
void loop() {
time_t time = Time.now();
Time.format(time, '%Y-%m-%dT%H:%M:%S%z');
displayString(time);
}
int displayString(String text) {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println(text);
display.display();
return 1;
}
我已确认displayString
有效。由于它是嵌入式设备,您无法访问常规时间库,但光子有自己的时间库
我得到了从int到const char*的无效转换错误
编辑:对于遇到此问题的任何其他人,我发现,虽然没有记录,但如果您不提供时间,它将使用当前时间,因此您只需执行以下操作:
String time = Time.format("%d/%m/%y %H:%M:%S");
大写的
字符串
类型是故意的,请参阅。这可能是因为在这一行中:
Time.format(time, '%Y-%m-%dT%H:%M:%S%z');
将格式字符串指定为多字符字符
,而不是字符串
。尝试:
Time.format(time, "%Y-%m-%dT%H:%M:%S%z"); // Note the double quotation marks
有关多字符字符的更多信息,请阅读此处:
另外,请注意编译器警告,您应该收到以下警告:
警告:多字符字符常量
这会提醒你这个问题 你在哪一行得到这个错误?@Ben第3行(Time.format…)有人有同样的问题,发布的解决方案似乎很好:@loopingz我不认为这是问题所在,鉴于OP的示例链接,这应该是可行的。OP使用了多字符字符而不是字符串。@Ben是的,很抱歉我没有看到库时间已经在处理它了,我的badI一眼就看不出来了,很好的眼睛。对于其他遇到这个问题的人,我发现,虽然没有记录,但如果你不提供时间,它将使用当前时间,所以您可以这样做:
String time=time.format(“%d/%m/%y%H:%m:%S”)代码>。