LABVIEW編程之時(shí)間標(biāo)識轉(zhuǎn)換為字符串
時(shí)間標(biāo)識是一種特殊的數(shù)值型控件,在早期版本的Labview中并不存在,可能是8.X后出現(xiàn)的。這種特殊類型的數(shù)值型控件包含了我們需要的全部時(shí)間、日期信息。
在定時(shí)函數(shù)選板中,LABVIEW提供了許多的時(shí)間類相關(guān)函數(shù),包括時(shí)間、日期轉(zhuǎn)換為字符串函數(shù),實(shí)際上格式化寫入字符串函數(shù)完全支持時(shí)間標(biāo)識,其轉(zhuǎn)換功能更多、更全面。
與數(shù)值轉(zhuǎn)換為字符串類似,時(shí)間標(biāo)識轉(zhuǎn)換為字符串的關(guān)鍵也是格式化字符串,LABVIEW提供了許多專門的時(shí)間相關(guān)的時(shí)間格式代碼,這些格式符不僅僅可以用來轉(zhuǎn)化為字符串,同時(shí)也可以時(shí)間標(biāo)識控件進(jìn)行特色顯示,以下的例程中將同時(shí)利用字符串和時(shí)間標(biāo)識顯示控件顯示我們需要的時(shí)間日期。
一、獲取系統(tǒng)時(shí)間和日期(年、月、日、時(shí)、分、秒)
獲取系統(tǒng)時(shí)間日期(年、月、日、時(shí)、分、秒)是最常用的時(shí)間操作,LABVIEW專門提供了格式化時(shí)間/日期函數(shù),該函數(shù)可以直接獲取當(dāng)前的時(shí)間和日期,不需要添加任何時(shí)間代碼,默認(rèn)的時(shí)間代碼為%c。
LABVIEW中的時(shí)間分為絕對時(shí)間和相對時(shí)間,絕對時(shí)間簡單地說就是我們說的系統(tǒng)時(shí)間日期,相對時(shí)間可以用來表示經(jīng)歷過的時(shí)間,比如兩個絕對時(shí)間(系統(tǒng)時(shí)間)的差值。
絕對時(shí)間的時(shí)間格式代碼為%<>T,這是時(shí)間格式代碼的容器,其它格式代碼應(yīng)位于<>中。
時(shí)間格式代碼%c根據(jù)當(dāng)?shù)赜?jì)算機(jī)語言規(guī)定的格式顯示日期和時(shí)間。
對于時(shí)間標(biāo)識顯示控件,它的時(shí)間日期顯示格式一般通過屬性對話框設(shè)置,為了說明時(shí)間格式代碼,我采用了屬性節(jié)點(diǎn)設(shè)置。
二、分別獲取時(shí)間和日期字符串
很多時(shí)候,我們需要分別獲取時(shí)間或者日期,LABVIEW專門提供了獲取日期/時(shí)間字符串函數(shù),該函數(shù)返回兩個字符串,分別表示時(shí)間和日期,具體用法見下圖。
利用格式化寫入字符串函數(shù)同樣可以獲取時(shí)間和日期,而且可以自己定義顯示格式,比如年、月、日之間的分隔符以及其顯示順序,時(shí)、分、秒也是如此。
1、獲取日期(年、月、日)
年的時(shí)間格式代碼為:兩位年份(比如97)%y,四位年份(比如1997)%Y。月的時(shí)間格式代碼為:%m。天的時(shí)間格式代碼為:%d
2、獲取時(shí)間(時(shí)、分、秒)
時(shí)的時(shí)間格式代碼有兩種:24小時(shí)制度---%H,12小時(shí)制度---%I;
分的時(shí)間格式碼為:%M;(小寫表示月份)
秒的時(shí)間格式碼為:%S。
三、任意獲取年、月、日、時(shí)、分、秒
通過年、月、日、時(shí)、分、秒的時(shí)間格式代碼,我們就可以任意獲取其中一個或者幾個,這在定時(shí)監(jiān)控或者定時(shí)數(shù)據(jù)記錄中非常常見。
下面的例子利用格式化寫入字符串函數(shù)每分中執(zhí)行一次操作,比如報(bào)警、寫入文件等等。為了保證每分鐘僅操作一次,必須在分鐘改變的上升沿時(shí)執(zhí)行操作。
四、獲取小數(shù)(毫秒)數(shù)
利用格式化寫入字符串函數(shù)同樣可以實(shí)現(xiàn),見下圖:
五、獲取“星期”相關(guān)信息
LABVIEW中的時(shí)間標(biāo)識包含了系統(tǒng)時(shí)間的全部信息,當(dāng)然也包括了有關(guān)“星期”的幾個時(shí)間格式碼。在一些歐洲的合資企業(yè)中,經(jīng)常使用周來表示工作時(shí)間,比如今天是一年中的第幾周第幾天等等,使用星期相關(guān)的時(shí)間格式碼可以輕松實(shí)現(xiàn)。
時(shí)間格式碼%A表示星期名稱全稱(比如星期一),%a表示星期名稱縮寫(比如星期一)。
對于中文操作系統(tǒng),%A和%a作用完全相同,但是對于英文操作系統(tǒng)則完全不同。
時(shí)間格式碼%w返回10進(jìn)制方式表示的星期幾(0-6),其中0表示周日。
時(shí)間格式碼%U返回一年中的星期數(shù)(0-53),周日為首日。
時(shí)間格式碼%W返回一年中的星期數(shù)(0-53),周一為首日。
六、相對時(shí)間
絕對時(shí)間一般都是指的系統(tǒng)時(shí)間,存在一個0時(shí)刻。很多時(shí)候,我們并不關(guān)心當(dāng)前的絕對時(shí)間。比如籃球比賽、測試程序運(yùn)行時(shí)間等等,這些都是“經(jīng)歷過”的時(shí)間,實(shí)際上是兩個絕對時(shí)間的差值,我們稱這樣的時(shí)間差為相對時(shí)間。
相對時(shí)間一般以雙精度數(shù)表示,表示經(jīng)過過的秒數(shù)。對于相對時(shí)間,也可能需要以天、時(shí)、分、秒等表示。對于這些需要,我們不需要自己計(jì)算,采用相對時(shí)間就可以自動換算了。
相對時(shí)間的時(shí)間格式碼為:%t。%<>表示相對時(shí)間的容器。
評論