根据valadoc
var now = new DateTime.now(new TimeZone.local());
var timestamp = now.format("\%F.\%T");
应将时间戳设置为“2012-08-28.09:51:06”。为什么“F”和“T”上出现“错误:无效的转义序列”?其他格式来自valadoc导致同样的错误,now.to_string()实际上是“2012-08-28T09:51:06+0000”
编辑:也许嵌入式 Linux 目标缺少某些东西?
编辑:测试代码 here在使用 glib 2.26.1 的项目中打印“(null)”。
最佳答案
正如 NullUserException 提到的,您不应该包含反斜杠 - 这就是导致无效转义序列错误的原因。
删除反斜杠后它仍然不起作用的原因是直到 2.30 周期才添加 %T 格式说明符。相关提交是 414c8ce532c19fe65deb8dfb80222d0164be5cbe
您可以通过执行以下操作来解决此问题:
var timestamp = now.format ("%F.%H:%M:%S");
关于datetime - 为什么是 "error: invalid escape sequence?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12161560/