CMake转换日期格式

4

我正在将一个配置脚本转换为cmake系统。然而,在一个特定的行上,似乎遇到了瓶颈:

COMMIT_DATE=$(date +"%Y%m%d-%H%M" -ud "$(LC_ALL=C svn info | grep 'Changed Date' | cut -c20-45)")

如何在CMake中格式化日期?或者假设我无法这样做,最好的跨平台方法是什么?显然,这个配置脚本目前只能在Linux上工作,但我希望解决方案尽可能跨平台。

svn部分可以相对容易地完成,因此不需要担心,除了日期输入字符串为:“(例如)“2013-10-14 21:55:05 +0100”

1个回答

1
请看 string 命令,特别是 TIMESTAMP 版本,它允许构建任意日期和时间字符串。
请注意,时间戳功能只在 CMake 的 2.8.11 版本中引入,因此如果您使用的是旧版本,则可能需要使用第三方工具来获取日期。

2
看起来不错。然而,它似乎只能使用当前日期/时间,而不能使用任意日期/时间,我认为。 - LordAro
如果您已经有一个任意的日期字符串,您可以使用字符串REGEX来解析它。虽然不如其他语言的正则表达式方便,但可以完成任务。 - ComicSansMS
2
问题出在时区,这让整个事情变得更加困难。 - LordAro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接