再次請教前輩有關StrToDate問題!! |
答題得分者是:chih
|
Ethan
版主 發表:101 回覆:170 積分:78 註冊:2006-07-05 發送簡訊給我 |
之前的問題已經解決了,現在有一個問題就是我想取出星期幾,怎麼出現
Statement expected,but expression of type 'String' found..???
我不是已經轉為date型態了嗎?怎麼不行??? var
ADate:TDateTime;
str,str1:string;
begin
days[1] := '星期日';
days[2] := '星期一';
days[3] := '星期二';
days[4] := '星期三';
days[5] := '星期四';
days[6] := '星期五';
days[7] := '星期六'; str:= query1.FieldByName('ymd').AsString; ADate := EncodeDate(StrToInt(Copy(str,1,4)), StrToInt(Copy(str,5,2)), StrToInt(Copy(str,7,2))); str1:=FormatDateTime('yyyy/mm/dd',ADate); //我想取出當天日期為星期幾
days[DayOfWeek(StrToDate(str1))]; showmessage(str1);
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
Ethan您好:
引言: 現在有一個問題就是我想取出星期幾您可以參考下面連結: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30332 timhuang 大哥的方式 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~> |
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
Ethan
版主 發表:101 回覆:170 積分:78 註冊:2006-07-05 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
解釋一下
str1:=FormatDateTime('yyyy/mm/dd',ADate); 是將 ADate 轉做你喜歡的日期格式,而並不一定是現在的系統格式 所以當系統日期格式不是 yyyy/mm/dd 時, StrToDate(str1) 還是會報錯的。 若你想把 ADate 轉到系統格式的字符, 應用 Str1 := DateToStr(ADate); 這樣 Str1 就一定可以用 StrToDate 還原為 TDate 格式了,不過每部電腦的結果可能不同所以除用來顯示外不便作其他操作。 所以要用這資料來作 DateTime 操作你可任選其一 :
1. 直接使用 ADate (如 Chih 兄的建議)
2. 一開始不用 FormatDateTime 而用 DateToStr 作顯示,操作時 StrToDate 還原
3. 重新 EncodeDate
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |