1. 程式人生 > >Makefile獲取編譯時間及版本資訊

Makefile獲取編譯時間及版本資訊

在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)\""

如何獲取日期呢?
格式: %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

這樣就達到我們的目標,成功的得到日期和時間了

相關推薦

Makefile獲取編譯時間版本資訊

在Makefile中獲取編譯時間及版本資訊, 在Makefile中新增以下語句, # 編譯時間 COMPILE_TIME = $(shell date +"%Y-%M-%d %H:%M:%S") CFLAGS += "\"$(COMPILE_TIME

c#獲取系統語言版本資訊

//C#判斷作業系統是否為Windows98 public static bool IsWindows98 { get { return (Environment.OSVersion.Platform == PlatformID.Win32Windows) &&

在IAR、Keil等工程程式碼中獲取編譯時間自動生成版本資訊的方法

我們在進行一些微控制器開發時,經常都需要手動新增版本號或者生成時間,這使得有時候變得繁瑣。最近發現一種可以根據編譯時間自動獲取系統時間資訊的方法,其實就是使用C語言中的兩個巨集__DATE__和__TIME__。 __DATE__用於獲取系統日期,而__TIME__用於獲取

VS之版本-獲取編譯時間-用於自動生成版本

我們寫軟體的,總希望程式有變動時可以自動生成版本號,不用手動去改,這樣多方便啊。VS編譯器就可實現這個功能。如下所示: /*  獲取程式編譯時間, 用於自動生成版本號很好   __DATE__ "Mar 25 2013"            "Mar  

js獲取當前時間取值操作

時間 ttr 操作 getdate ive mat 標準 turn orm 取值 this.divEndDate.attr("value",new Date()); var date = new Date(); date.getYear(); 取2位數年份 date

Parallels Desktop 12最新版軟體介紹版本資訊

版權歸作者所有,任何形式轉載請聯絡作者。 作者:你們都(來自豆瓣) 來源:https://www.douban.com/note/690309442/ 軟體介紹: Parallels Desktop 13 Mac版是Mac平臺上一款非常經典的Mac虛擬機器軟體,Parallels Des

JAVA中獲取當前時間格式轉換

以前我們開發過程中都是前端將時間傳給後端,後端將sql語句放入資料庫中執行,其中的時間格式也會由資料庫從2018-10-04T09:04:35.844Z預設轉換為2018-10-04 09:04:35,但當我們將SQL語句使用 StringBuilder 拼接後,其中的時間格式就會轉換為

MFC中獲取程式自身的版本資訊

收集整理自CSDN論壇。 首先、在Stdafx.h中引入連結庫: #pragma comment(lib,"Version.lib") 在對應的處理方法中如下: char FileVerInfo[4096]; DWORD dwVerLen = 0; CString strPath

C# 獲取系統時間時間格式

--DateTime 數字型  System.DateTime currentTime=new System.DateTime();  取當前年月日時分秒      currentTime=System.DateTime.Now;  取當前年     int 年=curren

WordPress技巧:顯示評論者的瀏覽器版本資訊

上一週,由於不知名的主機問題,衡天客服藍冰熱心地幫我換了臺主機,也不知道為什麼,有幾位老使用者留言紛紛反映樣式有問題,tiandi只得留言問是什麼瀏覽器訪問的,自己也覺得有點麻煩。tiandi也不止一次地看到有些朋友的部落格評論處有IP來源國家,瀏覽器資訊以及作業系統資訊了,索性動動手,小改一下程式

獲取當前時間計算時間差

獲取當前時間的方法很多: 1 獲取當前時間的 時分秒。 #include<stdio.h> #include<time.h> int main() { time_t t1,tim; struct tm *p; time(&t1);

curl獲取響應時間常用方法

1. -X 指定請求方式 GET請求 curl -X GET http://www.jackyops.com/search?data=123  # -X GET是可選的 POST請求 curl -X POST -d"data=123&key=456" http://

獲取年月日時間返回

<td>{{ item.ctime | dataFormat('') }}</td> Vue.filter('dataFormat', function (dataStr,pattern=""){ var dt = new Date(d

微信小程式獲取當前時間獲取當前日期

獲取當前時間 首先,在要獲取時間的.js檔案中載入util.js檔案 然後在onload方法中,呼叫util.js中的formatTime方法獲取當前時間 //獲取當前時間 // 呼叫函式時,傳入new Date()引數,返回值是日期和時間 var TIME =

iOS獲取當前時間前一天或後一天時間

NSDate * date = [NSDate date];//當前時間 NSDate *lastDay = [NSDate dateWithTimeInterval:-24*60*60 si

Java獲取當前時間String、datetime、date相互轉化

一、獲取當前系統時間和日期並格式化輸出: import java.util.Date; import java.text.SimpleDateFormat; public class NowString { public static void main(Str

Android 獲取當前時間時間戳的互換

在專案開發中,難免會遇到使用當前時間,比如實現網路請求上傳報文、預約、日曆等功能。 1. 獲取年月日時分秒 在獲取時間之前,首先要引入SimpleDateFormat: import java.text.SimpleDateFormat; 實現程

Lua獲取系統時間時間格式化

系統當前時間對應的時間戳 local ntime = os.time print(ntime) 格式化時間顯示,參考下表 常用於設定header等 ngx.header["Last-Modified:"]  = os.date("%a, %d %b %Y %X

Python獲取當前時間格式化

%d 獲取 格式 mage src 當前時間 import .com 時間戳 1、導入time模塊 # 導入time模塊 import time 2、打印時間戳-time.time() # 導入time模塊 import time # 打印時間戳 print(time.ti

IAR開發STM8,如何加入每次編譯的日期時間資訊來做為版本資訊

IAR開發STM8,如何加入每次編譯的日期時間資訊來做為版本資訊呢?? 網上找打了這個: -------- IAR USING PRE- AND POST-BUILD ACTIONS Using pre-build actions for time stamping If necessa