在Makefile中获取编译时间及版本信息,
在Makefile中添加以下语句,
# 编译时间
COMPILE_TIME = $(shell date +"%Y-%M-%d %H:%M:%S")
CFLAGS += "\"$(COMPILE_TIME)\""
# GIT版本号
GIT_REVISION = $(shell git show -s --pretty=format:%h)
CFLAGS += "\"$(GIT_REVISION)\""
更新:2018.03.21
以上获取时间命令在unix下执行没问题,在Windows下不行,Windows下使用如下获取时间方法:
# 编译时间
COMPILE_TIME = $(shell echo %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%)
CFLAGS += "\"$(COMPILE_TIME)\""
参考:http://blog.csdn.net/machinecat0898/article/details/7804988
原文:
编写Windows批处理时经常会需要使用到日期和时间作为文件名,所以是非常重要的。如何获取日期呢?
格式:%date%
结果:2012-07-31
如何获取时间呢?
格式:%time%
结果:10:21:21.68
这是获取的系统标准格式的日期和时间,但是有时候我们需要使用规定的格式,怎么办呢?
格式:
%date:~x,y%
以及%time:~x,y%
说明: x是开始位置,y是取得字符数比如说我要获取完整的日期和时间,
格式:%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
结果:20120731111039
但是如果时间早于10点,那么只显示日期不显示时间,如:20120731,如何解决呢?
格式:%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%
结果:20120731052539
这样就达到我们的目标,成功的得到日期和时间了