關於 Delphi 5.0 Datetostr or StrtoDate 轉換日期的問題。 |
答題得分者是:Miles
|
skurama
中階會員 發表:88 回覆:127 積分:73 註冊:2002-07-22 發送簡訊給我 |
小弟目前遇到一個問題, 在客戶的電腦方面,在控製台的日期格式會因部門不同設定如下,
財務部門設定的系統日期是 dd/mm/yyyy ,
(因為特殊的需求),
其他部門都是使用 yyyy/mm/dd 。 因此在財務部門的使用者程式如有下 strtodate 時,
會發生 2004/05/12 is not valid date,
而 Delphi 5.0 的 Datetostr or strtodate ,
不像 7.0 有 TFormatsetting 可以進行轉換的動作。 請問是否有其他 Function 可以做隨系統日期做轉換的動作? ----------------
昂首千丘遠,
嘯傲風間,
堪尋敵手共論劍,
高處不甚寒!
----------------
------
---------------- 初出芧房程設師, 左鍵右鼠寫程式, 日扣夜寫眼框溼, 望能早成系分師。 ---------------- |
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
skurama
中階會員 發表:88 回覆:127 積分:73 註冊:2002-07-22 發送簡訊給我 |
嗯抱歉,沒有說明清楚,
因為特殊的原因,存到資料庫存的是
日期字串 "dd/mm/yyyy" -> "03/05/2004",
唉~~~一下子也說不完為什麼要這樣做。 控制台的日期格式是 dd/mm/yyyy。
但程式會為把資料庫再轉換成 yyyy/mm/dd s_Date := 轉換年月日(qryOrd.fieldbyname('date').AsString);
now() - strtodate(s_Date); <--- 這邊就出現問題了。
「'2004/05/03' is not valid date」 所以想問問看是否有相關的解決方法?
如何讓 strtodate(s_date) 不會錯。 如果沒有現呈的function ,
看來要自己手動判斷系統日期格式,
再做切割的動作了,感覺會有隱藏的危險。 ----------------
昂首千丘遠,
嘯傲風間,
堪尋敵手共論劍,
高處不甚寒!
----------------
------
---------------- 初出芧房程設師, 左鍵右鼠寫程式, 日扣夜寫眼框溼, 望能早成系分師。 ---------------- |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi skurama 您好:
試著調整ShortDateFormat試試;
procedure TForm1.Button1Click(Sender: TObject); var TempStyle : String; begin TempStyle := ShortDateFormat; try ShortDateFormat := 'yyyy/mm/dd'; StrToDate('2004/05/03'); finally ShortDateFormat := TempStyle; end; end;我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
skurama
中階會員 發表:88 回覆:127 積分:73 註冊:2002-07-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |