C++ 光子的格式和显示时间

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

我正在尝试在连接到粒子光子的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(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”)