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分割槽都很簡單,多看...
行動硬碟如何格式化,行動硬碟怎樣格式化
首先把你行動硬碟裡的資料先備份到你的本地硬碟,然後在桌面上的我的電腦 右鍵 管理 磁碟管理 找到你的行動硬碟的那個分割槽,然後就是在那個分割槽上右鍵點選刪除,接著,就是在那個分割槽上面右鍵點選新建,接著就是下一步,下一步,不過,在有個讓你選擇卷標的那個地方的下面,有個快速格式化該磁碟的核取方塊,記得...