Quartus® II Tcl 範例:日期時間戳記

author-image

作者

此示例演示如何使用 Tcl 創建日期時間戳。您可以在文稿化的設計流程中使用日期時間戳來準確記錄文本的運行時間。將日期時間戳寫入設計檔可提供編譯設計的片上存儲。

可以使用 Tcl 命令生成自訂格式的日期時間字串,其中僅包含所需的日期和時間元素。使用 Tcl 命令 時鐘秒 傳回目前時間和 時鐘格式 ,以生成自訂格式的日期時間字串。有關 設定日期時間字串格式 的詳細資訊,請參閱日期和時間格式設置網頁。它包括範例和設置關鍵字格式的表格。

下面是日期時間字串的不同格式設置選項的兩個示例。

示例 1

以下命令按以下順序產生包含以下元素的格式化日期時間字串:

  1. 四位數年份
  2. 兩位數月份 (01-12)
  3. 兩位數日 (01-31)
  4. 24 小時格式的兩位數小時 (00-23)
  5. 兩位數分鐘 (00-59)
  6. 兩位秒 (00-59)
時鐘格式 [時鐘秒] -格式 {%Y %m %d %H %M %S}

該命令生成一個字串,如下所示:

2005 01 10 15 16 55

示例 2

第二個範例按以下順序產生具有以下元素的格式化日期時間字串:

  1. 縮寫的月份名稱,後跟句點
  2. 每月的兩位數日期,後跟逗號
  3. 四位數年份
  4. 時間在HH:MM:SS格式
  5. 上午/下午指示器
時鐘格式 [時鐘秒] -格式 {%b. %d, %Y %I:%M:%S %p}

該命令生成一個字串,如下所示:

2005年1月10日 03:31:20 PM

轉換日期時間字串

通常必須將 ASCII 日期時間字串轉換為其他格式(如十六進位或二進位),以將其存儲在寄存體記憶體或記憶體中。以下是格式轉換的兩個範例。

十進位到十六進位

如果使用僅生成數值的日期時間元素,則可以將它們視為十進位數以進行轉換。以下命令生成年份 (001 - 366) 中日期編號的日期戳,後跟 24 小時格式的小時,然後是分鐘。

set str [時鐘格式 [時鐘秒] -格式 {%j%H%M}]
設置 [格式 "%X" $str]

該指令在變數 out中產生如下所示的字串:

17D40F

ASCII 到十六進位

以下命令生成一個日期時間字串,並將其轉換為存儲在變數 out中的打包十六進位字串。每對十六進位數位是 ASCII 字元的十六進位代碼。

設置 str [時鐘格式 [時鐘秒] -格式 {%b. %d, %Y %I:%M:%S %p}]
二進位掃描$str"H*" 輸出

該指令在變數 out中產生如下所示的字串:

4a616e2e2e2031302c20323030352030333a33363a303520504d

這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。