全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3543
推到 Plurk!
推到 Facebook!

將DataTimePicker的日期格式轉換

答題得分者是:channel
monkeyhung
一般會員


發表:51
回覆:55
積分:21
註冊:2006-12-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-20 15:27:29 IP:203.69.xxx.xxx 訂閱
各位大大好:

小弟剛學delphi不久想請教各位大大幾個問題

若我想將DataTimePicker的日期格式(2007/4/20)轉換成(4/20/2007)

我想要轉換為此格式的原因是因為Prodox 7 限制 日期查詢的格式要為(4/20/2007)

而我想方便user輸入也避免輸入錯誤,因而才想要用DataTimePicker的日期格式

不知有沒有方法可以達到此目的

channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-20 16:34:46 IP:59.114.xxx.xxx 訂閱
兩個方法:
1、至控制台的地區及語言選項,按自訂鈕,點日期頁夾,將簡短日期樣式改為 M/d/yyyy即可
2、換元件,建議使用wwDBDateTimePicker這是infopower的元件(需$)
wwDBDateTimePicker有一個屬性為DisplayFormat設為m/d/yyyy即可

===================引 用 monkeyhung 文 章===================
各位大大好:

????????? 小弟剛學delphi不久想請教各位大大幾個問題

?? 若我想將DataTimePicker的日期格式(2007/4/20)轉換成(4/20/2007)

? 我想要轉換為此格式的原因是因為Prodox 7 限制 日期查詢的格式要為(4/20/2007)

? 而我想方便user輸入也避免輸入錯誤,因而才想要用DataTimePicker的日期格式

?不知有沒有方法可以達到此目的

------
~小弟淺見,參考看看~
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-20 16:54:01 IP:59.124.xxx.xxx 未訂閱
插一下花,提供另一種 solution

uses CommCtrl

procedure TForm1.Button1Click(Sender: TObject);
begin
DateTime_SetFormat(DateTimePicker1.Handle,'M/d/yyyy');
end;

------
Fishman
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-04-20 17:09:14 IP:59.114.xxx.xxx 訂閱
Fishman 強…甘拜下風…小弟又學了一招…感恩…

===================引 用 Fishman 文 章===================
插一下花,提供另一種 solution

uses CommCtrl

procedure TForm1.Button1Click(Sender: TObject);
begin
? DateTime_SetFormat(DateTimePicker1.Handle,'M/d/yyyy');
end;

------
~小弟淺見,參考看看~
monkeyhung
一般會員


發表:51
回覆:55
積分:21
註冊:2006-12-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-04-21 00:48:04 IP:59.114.xxx.xxx 訂閱
謝謝大大幫我解決這個問題
可是若我想把轉換過後的DateTimePicker內的日期
丟給edit內,可以嗎
我是用下列的方法,但不行耶
procedure TFPUR510.DateTimePicker2Change(Sender: TObject);
begin
inherited;
DateTime_SetFormat(DateTimePicker1.Handle,'M/d/yyyy');
edit2.Text:=DateToStr(DateTimePicker2.Date);
Edit_DayTran.Text:=edit2.text;
end;

===================引 用 Fishman 文 章===================
插一下花,提供另一種 solution

uses CommCtrl

procedure TForm1.Button1Click(Sender: TObject);
begin
? DateTime_SetFormat(DateTimePicker1.Handle,'M/d/yyyy');
end;

編輯記錄
monkeyhung 重新編輯於 2007-04-21 00:51:16, 註解 無‧
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-04-21 01:33:27 IP:59.114.xxx.xxx 訂閱
將DateToStr改為FormatDateTime即可…
edit2.Text:=FormatDateTime('m/d/yyy', DateTimePicker2.Date);

===================引 用 monkeyhung 文 章===================
謝謝大大幫我解決這個問題
可是若我想把轉換過後的DateTimePicker內的日期
丟給edit內,可以嗎
我是用下列的方法,但不行耶
procedure TFPUR510.DateTimePicker2Change(Sender: TObject);
begin
? inherited;
????? DateTime_SetFormat(DateTimePicker1.Handle,'M/d/yyyy');
????? edit2.Text:=DateToStr(DateTimePicker2.Date);
????? Edit_DayTran.Text:=edit2.text;
end;
------
~小弟淺見,參考看看~
編輯記錄
channel 重新編輯於 2007-04-21 01:34:24, 註解 無‧
monkeyhung
一般會員


發表:51
回覆:55
積分:21
註冊:2006-12-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-04-21 01:38:40 IP:59.114.xxx.xxx 訂閱
大大太謝謝您了^^
可以再請問一個問題嗎
就是把DateTimePicker2的值丟給edit是沒有問題
但我若是要把DateTimePicker2的值丟給dbedit的話
是一定要先丟給edit後再把edit丟給dbedit嗎
有辨法說就直接把DateTimePicker2的值丟給dbedit嗎
===================引 用 channel 文 章===================
將DateToStr改為FormatDateTime即可…
edit2.Text:=FormatDateTime('m/d/yyy', DateTimePicker2.Date);

===================引 用 monkeyhung 文 章===================
謝謝大大幫我解決這個問題
可是若我想把轉換過後的DateTimePicker內的日期
丟給edit內,可以嗎
我是用下列的方法,但不行耶
procedure TFPUR510.DateTimePicker2Change(Sender: TObject);
begin
? inherited;
????? DateTime_SetFormat(DateTimePicker1.Handle,'M/d/yyyy');
????? edit2.Text:=DateToStr(DateTimePicker2.Date);
????? Edit_DayTran.Text:=edit2.text;
end;
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-04-21 01:48:52 IP:59.114.xxx.xxx 訂閱
一般而已,DBEdit是連接到DataSet
以我而言,我會直接操作DataSet的Filed,例如:
DBEdit1是連到Query1的AField(是字串欄位的話)
Query1.FieldByName('AField').AsString := FormatDateTime('m/d/yyy', DateTimePicker2.Date);
也就是說當您把值給DataSet時,其實也就是把值給DBEdit,不知這樣解釋您是否清楚?

===================引 用 monkeyhung 文 章===================
大大太謝謝您了^^
可以再請問一個問題嗎
就是把DateTimePicker2的值丟給edit是沒有問題
但我若是要把DateTimePicker2的值丟給dbedit的話
是一定要先丟給edit後再把edit丟給dbedit嗎
有辨法說就直接把DateTimePicker2的值丟給dbedit嗎
------
~小弟淺見,參考看看~
monkeyhung
一般會員


發表:51
回覆:55
積分:21
註冊:2006-12-16

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-04-21 02:00:41 IP:59.114.xxx.xxx 訂閱
恩~~~
我了解大大你的意思
但因為我的dbedit是可以讓使用者新增資料及「查詢」後資料會直接秀在dbedit內
所以若用大大這個方法的話
可能會達不到這個目的
不過還是很謝謝大大你這麼努力為小弟解答^^
===================引 用 channel 文 章===================
一般而已,DBEdit是連接到DataSet
以我而言,我會直接操作DataSet的Filed,例如:
DBEdit1是連到Query1的AField(是字串欄位的話)
Query1.FieldByName('AField').AsString := FormatDateTime('m/d/yyy', DateTimePicker2.Date);
也就是說當您把值給DataSet時,其實也就是把值給DBEdit,不知這樣解釋您是否清楚?

===================引 用 monkeyhung 文 章===================
大大太謝謝您了^^
可以再請問一個問題嗎
就是把DateTimePicker2的值丟給edit是沒有問題
但我若是要把DateTimePicker2的值丟給dbedit的話
是一定要先丟給edit後再把edit丟給dbedit嗎
有辨法說就直接把DateTimePicker2的值丟給dbedit嗎
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-04-21 02:17:33 IP:59.114.xxx.xxx 訂閱
您當然可以直接將DateTimePicker2的值丟給dbedit
dbedit1.Text := FormatDateTime('m/d/yyy', DateTimePicker2.Date);

如果您是在資料庫的瀏覽狀態將值給dbedit1.text的話,就跟資料庫的操作就沒有關係了(不會回存至資料庫)
只會顯示而已,當您記錄指標移動後,再移回來該記錄時,其dbedit1的值又會變回原本連DataSet Field的值了

若您在新增或修改狀態將值給dbedit1.text的話,移動記錄指標後(若cashedupdates為false),該值就會存入資料庫了

===================引 用 monkeyhung 文 章===================
恩~~~
我了解大大你的意思
但因為我的dbedit是可以讓使用者新增資料及「查詢」後資料會直接秀在dbedit內
所以若用大大這個方法的話
可能會達不到這個目的
不過還是很謝謝大大你這麼努力為小弟解答^^
===================引 用 channel 文 章===================
一般而已,DBEdit是連接到DataSet
以我而言,我會直接操作DataSet的Filed,例如:
DBEdit1是連到Query1的AField(是字串欄位的話)
Query1.FieldByName('AField').AsString := FormatDateTime('m/d/yyy', DateTimePicker2.Date);
也就是說當您把值給DataSet時,其實也就是把值給DBEdit,不知這樣解釋您是否清楚?

===================引 用 monkeyhung 文 章===================
大大太謝謝您了^^
可以再請問一個問題嗎
就是把DateTimePicker2的值丟給edit是沒有問題
但我若是要把DateTimePicker2的值丟給dbedit的話
是一定要先丟給edit後再把edit丟給dbedit嗎
有辨法說就直接把DateTimePicker2的值丟給dbedit嗎
------
~小弟淺見,參考看看~
hunter818
一般會員


發表:1
回覆:4
積分:1
註冊:2007-04-13

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-04-24 13:14:43 IP:61.155.xxx.xxx 訂閱
以上两位前辈的方法,都可以,我以前也是用这种方法,你可以多试几次即OK了
------
学习中......
chenyk
高階會員


發表:14
回覆:95
積分:171
註冊:2002-07-08

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-05-10 16:28:53 IP:202.39.xxx.xxx 未訂閱
如果只是要改變顯示的效果,試試

Datetimepicker1.format := 'm/d/yyyy';

相關設定 可以參照 HELP
系統時間:2024-07-02 9:20:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!