新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > LABVIEW編程之時(shí)間標(biāo)識(shí)轉(zhuǎn)換為字符串

LABVIEW編程之時(shí)間標(biāo)識(shí)轉(zhuǎn)換為字符串

作者: 時(shí)間:2017-02-27 來(lái)源:網(wǎng)絡(luò) 收藏

時(shí)間標(biāo)識(shí)是一種特殊的數(shù)值型控件,在早期版本的Labview中并不存在,可能是8.X后出現(xiàn)的。這種特殊類型的數(shù)值型控件包含了我們需要的全部時(shí)間、日期信息。

在定時(shí)函數(shù)選板中,LABVIEW提供了許多的時(shí)間類相關(guān)函數(shù),包括時(shí)間、日期轉(zhuǎn)換為字符串函數(shù),實(shí)際上格式化寫入字符串函數(shù)完全支持時(shí)間標(biāo)識(shí),其轉(zhuǎn)換功能更多、更全面。

與數(shù)值轉(zhuǎn)換為字符串類似,時(shí)間標(biāo)識(shí)轉(zhuǎn)換為字符串的關(guān)鍵也是格式化字符串,LABVIEW提供了許多專門的時(shí)間相關(guān)的時(shí)間格式代碼,這些格式符不僅僅可以用來(lái)轉(zhuǎn)化為字符串,同時(shí)也可以時(shí)間標(biāo)識(shí)控件進(jìn)行特色顯示,以下的例程中將同時(shí)利用字符串和時(shí)間標(biāo)識(shí)顯示控件顯示我們需要的時(shí)間日期。

一、獲取系統(tǒng)時(shí)間和日期(年、月、日、時(shí)、分、秒)

獲取系統(tǒng)時(shí)間日期(年、月、日、時(shí)、分、秒)是最常用的時(shí)間操作,LABVIEW專門提供了格式化時(shí)間/日期函數(shù),該函數(shù)可以直接獲取當(dāng)前的時(shí)間和日期,不需要添加任何時(shí)間代碼,默認(rèn)的時(shí)間代碼為%c。

LABVIEW中的時(shí)間分為絕對(duì)時(shí)間和相對(duì)時(shí)間,絕對(duì)時(shí)間簡(jiǎn)單地說(shuō)就是我們說(shuō)的系統(tǒng)時(shí)間日期,相對(duì)時(shí)間可以用來(lái)表示經(jīng)歷過(guò)的時(shí)間,比如兩個(gè)絕對(duì)時(shí)間(系統(tǒng)時(shí)間)的差值。

絕對(duì)時(shí)間的時(shí)間格式代碼為%<>T,這是時(shí)間格式代碼的容器,其它格式代碼應(yīng)位于<>中。

時(shí)間格式代碼%c根據(jù)當(dāng)?shù)赜?jì)算機(jī)語(yǔ)言規(guī)定的格式顯示日期和時(shí)間。

對(duì)于時(shí)間標(biāo)識(shí)顯示控件,它的時(shí)間日期顯示格式一般通過(guò)屬性對(duì)話框設(shè)置,為了說(shuō)明時(shí)間格式代碼,我采用了屬性節(jié)點(diǎn)設(shè)置。

二、分別獲取時(shí)間和日期字符串

很多時(shí)候,我們需要分別獲取時(shí)間或者日期,LABVIEW專門提供了獲取日期/時(shí)間字符串函數(shù),該函數(shù)返回兩個(gè)字符串,分別表示時(shí)間和日期,具體用法見(jiàn)下圖。

利用格式化寫入字符串函數(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í)、分、秒

通過(guò)年、月、日、時(shí)、分、秒的時(shí)間格式代碼,我們就可以任意獲取其中一個(gè)或者幾個(gè),這在定時(shí)監(jiān)控或者定時(shí)數(shù)據(jù)記錄中非常常見(jiàn)。

下面的例子利用格式化寫入字符串函數(shù)每分中執(zhí)行一次操作,比如報(bào)警、寫入文件等等。為了保證每分鐘僅操作一次,必須在分鐘改變的上升沿時(shí)執(zhí)行操作。

四、獲取小數(shù)(毫秒)數(shù)

利用格式化寫入字符串函數(shù)同樣可以實(shí)現(xiàn),見(jiàn)下圖:

五、獲取“星期”相關(guān)信息

LABVIEW中的時(shí)間標(biāo)識(shí)包含了系統(tǒng)時(shí)間的全部信息,當(dāng)然也包括了有關(guān)“星期”的幾個(gè)時(shí)間格式碼。在一些歐洲的合資企業(yè)中,經(jīng)常使用周來(lái)表示工作時(shí)間,比如今天是一年中的第幾周第幾天等等,使用星期相關(guān)的時(shí)間格式碼可以輕松實(shí)現(xiàn)。

時(shí)間格式碼%A表示星期名稱全稱(比如星期一),%a表示星期名稱縮寫(比如星期一)。

對(duì)于中文操作系統(tǒng),%A和%a作用完全相同,但是對(duì)于英文操作系統(tǒng)則完全不同。

時(shí)間格式碼%w返回10進(jìn)制方式表示的星期幾(0-6),其中0表示周日。

時(shí)間格式碼%U返回一年中的星期數(shù)(0-53),周日為首日。

時(shí)間格式碼%W返回一年中的星期數(shù)(0-53),周一為首日。

六、相對(duì)時(shí)間

絕對(duì)時(shí)間一般都是指的系統(tǒng)時(shí)間,存在一個(gè)0時(shí)刻。很多時(shí)候,我們并不關(guān)心當(dāng)前的絕對(duì)時(shí)間。比如籃球比賽、測(cè)試程序運(yùn)行時(shí)間等等,這些都是“經(jīng)歷過(guò)”的時(shí)間,實(shí)際上是兩個(gè)絕對(duì)時(shí)間的差值,我們稱這樣的時(shí)間差為相對(duì)時(shí)間。

相對(duì)時(shí)間一般以雙精度數(shù)表示,表示經(jīng)過(guò)過(guò)的秒數(shù)。對(duì)于相對(duì)時(shí)間,也可能需要以天、時(shí)、分、秒等表示。對(duì)于這些需要,我們不需要自己計(jì)算,采用相對(duì)時(shí)間就可以自動(dòng)換算了。

相對(duì)時(shí)間的時(shí)間格式碼為:%t。%<>表示相對(duì)時(shí)間的容器。



評(píng)論


技術(shù)專區(qū)

關(guān)閉