Delphi時間比較如何格式化時間

時間 2022-07-07 16:30:09

1樓:匿名使用者

你剛學delphi吧,if formatdatetime('hh',now)<=ihg1 and formatdatetime('hh',now)=> ihg2 then這句大於等於符號你寫錯了,還有formatdatetime的返回型別是string,而你的ihg1,ihg2全域性變數是tdatetime型的,型別不一致怎麼比較呢?

如果你的意思是在時間小於等於6點或者時間大於等於23點時要求關機,那麼你大可以參考下面的**:

定義變數的時候這樣:

varihg1, ihg2: string;

初始化時:

ihg1 := '6';

ihg2 := '23';

比較**:

if (formatdatetime('hh',now)<=ihg1) and (formatdatetime('hh',now)>=ihg2) then

showmessage('需要關機!'); 答案補充 順便說一句,如果這樣寫,還是有點問題,當時間是12小時之內的時候返回值將為兩位數,如:

假如現在時間是上午7點,那麼formatdatetime('hh',now)返回值將是'07',那在比較的時

候就有問題了,7>6,而'07'卻比'6'小,所以這樣也不對,你可以把ihg1:='6'改成'06',也

可以把formatdatetime('hh',now)改成formatdatetime('h', now),這樣子在比較的時候就不會有問題了

2樓:

varihg1,ihg2:ttime;

begin

ihg1:=strtotime(6:00);

ihg2:=strtotime(23:00);

if (time()<=ihg1) and (time()>= ihg2) then

showmessage('需要關機!');

end;

ps:你這個只涉及到時間,沒有涉及日期,所以不必要用帶日期的時間格式。

3樓:匿名使用者

tdatetime就是 double的另一種說法,可以直接比較大小,如果要使用專業級的,引用

dateutils 這個單元,此單元是對日期時間專門做了一些處理。

4樓:匿名使用者

你可以定義 ihg1,ihg2為integer型別,if strtoint(formatdatetime('hh',now))<=ihg1 ....

5樓:眾口說車

datetimetostr formatdatetime('yyyy-mm-dd',now);'

delphi 如何獲得相應的日期格式

6樓:匿名使用者

我就借花獻佛吧,這是**別人的,使用formatdatetime函式格式化日期資料

function formatdatetime(const format: string; datetime: tdatetime): string;

format引數是乙個格式化字串。datetime是時間型別。返回值是一種格式化後的字串,重點來看format引數中的指令字元:

c以短時間格式顯示時間,即全部是數字的表示

formatdatetime('c',now);

輸出為:2004-8-7 9:55:40

d 對應於時間中的日期,日期是一位則顯示一位,兩位則顯示兩位

formatdatetime('d',now);

輸出可能為1~31

dd 和d的意義一樣,但它始終是以兩位來顯示的

formatdatetime('dd',now);

輸出可能為01~31

ddd 顯示的是星期幾

formatdatetime('ddd',now);

輸出為: 星期六

dddd 和ddd顯示的是一樣的。

但上面兩個如果在其他國家可能不一樣。

ddddd 以短時間格式顯示年月日

formatdatetime('ddddd',now);

輸出為:2004-8-7

dddddd 以長時間格式顯示年月日

formatdatetime('dddddd',now);

輸出為:2023年8月7日

e/ee/eee/eeee 以相應的位數顯示年

formatdatetime('ee',now);

輸出為:04 (表示04年)

m/mm/mmm/mmmm 表示月

formatdatetime('m',now);

輸出為:8

formatdatetime('mm',now);

輸出為 08

formatdatetime('mmm',now);

輸出為 八月

formatdatetime('mmmm',now);

輸出為 八月

和ddd/dddd 一樣,在其他國家可能不同

yy/yyyy 表示年

formatdatetime('yy',now);

輸出為 04

formatdatetime('yyyy',now);

輸出為 2004

h/hh,n/nn,s/ss,z/zzz 分別表示小時,分,秒,毫秒

t 以短時間格式顯示時間

formatdatetime('t',now);

輸出為 10:17

tt 以長時間格式顯示時間

formatdatetime('tt',now);

輸出為10:18:46

ampm 以長時間格式顯示上午還是下午

formatdatetime('ttampm',now);

輸出為:10:22:57上午

如果要在format中加普通的字串,可以用雙引號隔開那些特定義的字元,這樣普通字串中如果含特殊的字元就不會被顯示為時間格式啦:

formatdatetime('"today is" c',now);

輸出為:today is 2004-8-7 10:26:58

時間中也可以加"-"或"\"來分開日期:

formatdatetime('"today is" yy-mm-dd',now);

formatdatetime('"today is" yy\mm\dd',now);

輸出為: today is 04-08-07

也可以用":"來分開時間

formatdatetime('"today is" hh:nn:ss',now);

輸出為:today is 10:32:23

formatdatetime

vars: string;

begin

//formatdatetime 的引數1是 string 格式指令, 引數2是 tdatetime 型別的時間

s := formatdatetime('c', now);

s := formatdatetime('d', now);

s := formatdatetime('d', strtodatetime('2008-1-1'));

s := formatdatetime('dd', now);

s := formatdatetime('dd', strtodatetime('2008-1-1'));

s := formatdatetime('ddd', now);

s := formatdatetime('dddd', now);

s := formatdatetime('ddddd', now);

s := formatdatetime('dddddd', now);

s := formatdatetime('e', now);

s := formatdatetime('ee', now);

s := formatdatetime('eee', now);

s := formatdatetime('eeee', now);

s := formatdatetime('m', now);

s := formatdatetime('mm', strtodatetime('2008-1-1'));

s := formatdatetime('mmm', now);

s := formatdatetime('mmmm', now);

s := formatdatetime('y', now);

s := formatdatetime('yy', now);

s := formatdatetime('yyy', now);

s := formatdatetime('yyyy', now);

s := formatdatetime('t', now);

s := formatdatetime('tt', now);

s := formatdatetime('ampm', now);

s := formatdatetime('tampm', now);

s := formatdatetime('h', strtodatetime('2007-12-30 9:58:06'));

s := formatdatetime('hh', strtodatetime('2007-12-30 9:58:06'));

s := formatdatetime('n', strtodatetime('2007-12-30 9:58:06'));

s := formatdatetime('nn', strtodatetime('2007-12-30 9:58:06'));

s := formatdatetime('s', strtodatetime('2007-12-30 9:58:06'));

s := formatdatetime('ss', strtodatetime('2007-12-30 9:58:06'));

s := formatdatetime('z', now);

s := formatdatetime('zz', now);

s := formatdatetime('zzz', now);

s := formatdatetime('yy\mm\dd', now);

s := formatdatetime('yy/mm/dd', now);

s := formatdatetime('yy-mm-dd', now);

s := formatdatetime('yy*mm*dd', now);

s := formatdatetime('yy"/"mm"/"dd', now);

s := formatdatetime('"當前時間是: "yyyy-m-d h:n:s:zz', now);

showmessage(s);

end;

諾基亞手機如何格式化,諾基亞手機怎樣格式化?

格式化手機一般來說有三種方法 記得格機前一定先備份好自己要的資料資料等 1.軟體格式化 利用psiloc公司的軟體stools,進行格式化手機,鎖碼為12345,這個方法不會丟失線路2 2 軟格 在手機上輸入 7370 之後要求你輸入鎖碼,初始密碼是 12345,如果你更改過手機密碼,那就是更改後的...

如何分割槽格式化硬碟,如何進行新硬碟格式化和分割槽?

如果是新拿到一塊硬碟需要分割槽格式化,首先要進行以下準備 軟碟機和win98啟動盤或是光碟機和虎頭版win98系統安裝盤。然後開機在cmos設定裡設為軟盤啟動或是光碟啟動 根據你準備的裝置情況選擇 還是最好別分割槽,可以多看看分割槽軟體,然後試一下,可以用分割槽魔術師,或者用dm分割槽都很簡單,多看...

行動硬碟如何格式化,行動硬碟怎樣格式化

首先把你行動硬碟裡的資料先備份到你的本地硬碟,然後在桌面上的我的電腦 右鍵 管理 磁碟管理 找到你的行動硬碟的那個分割槽,然後就是在那個分割槽上右鍵點選刪除,接著,就是在那個分割槽上面右鍵點選新建,接著就是下一步,下一步,不過,在有個讓你選擇卷標的那個地方的下面,有個快速格式化該磁碟的核取方塊,記得...