2013-10-17 94 views
3

我正在将配置脚本转换为cmake系统。 HOwever我遇到了一条明显的砖墙与一条特定的线:CMake转换日期格式

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

如何在cmake中格式化日期?或者假设我不能,那么最好的跨平台方法是什么?显然,这个配置脚本目前只适用于Linux,但我希望解决方案尽可能跨平台。

的SVN部分可以相对容易地实现,所以不需要担心,不是日期输入字符串另一个是:(EG)“2013年10月14日21时55分05秒+0100”

回答

2

查看string命令,特别是TIMESTAMP版本,该命令允许构建任意日期和时间字符串。

请注意,时间戳的内容仅在CMake 2.8.11版本中引入,因此如果您遇到旧版本的问题,则可能需要使用第三方工具来获取日期。

+0

这看起来不错。然而,它似乎只适用于当前的日期/时间,而不是任意的,我认为 – LordAro

+0

@LordAro如果你已经有一个任意的日期字符串,你可以使用字符串'REGEX'来解析它。使用其他语言的正则表达式并不方便,但它可以完成工作。 – ComicSansMS

+1

麻烦在于时区,使整个事情变得更加困难 – LordAro