2009-12-30 68 views
0

我正在開發一個應用程序,其中我試圖從單個DateTimePicker控件獲取日期,時間和時區。任何人都可以幫助解決這個問題嗎?如何從單個DateTimePicker控件獲取日期,時間和時區

編輯1
我正在使用.NET Framework 2.0。現在,我可以通過設置其CustomFormat財產

dtpicker2.CustomFormat = "MM/dd/yyyy,hh:mm:ss" 

現在我的問題是取的時區來獲取日期和時間與單DateTimePicker

編輯2
現在,這裏是一個多問題,如果我設置DateTimePicker的格式屬性時,它顯示我像2:30:00 PM。我將它存儲在一個文件中,並將其重新分配給DateTimePicker控件。
任何人都可以幫助我,如何實現這一目標?

回答

0

你將無法使用它自己的DateTimePicker 。

相反,你將不得不有一個複合控制,其上有一個DateTimePicker,以及另一個控制將作爲抵消。

這個控件可能是一個數字上/下控制,你可以使用小時,分鐘,秒等等偏移量(或僅僅是一個文本框)。

另一種選擇是,如果你有一個位置(經度和緯度,which you can obtain via Google through HTTP的形式,如果你有一個地址),使用Timezone API function at GeoNames這將允許您傳遞緯度和經度值,它會返回時區爲那個位置。這與TZ databaseZoneInfo project一起將允許您確定該特定日期/時間的偏移量(所有地點和所有日期都不相同)。

+0

我正要+1,直到提到地理編碼。不要這樣做,chaps,尤其是UI的默認值:它確實非常非常不可靠,只會讓用戶惱火。 – 2009-12-30 07:16:09

+0

@Jeremy McGee:請注意我是如何說的,如果你有一個地址。我相信你認爲我暗示我應該通過IP地址進行地理編碼,我同意這種說法*非常*不可靠。地理編碼並不意味着使用IP地址來解析物理位置。如果有人有地址,Google可以一貫而準確地將其翻譯爲經緯度對。 – casperOne 2009-12-30 07:46:47

+0

感謝您的回覆。其實,我正在開發一個Windows應用程序,其中我正在嘗試輸入日期,時間和時區。我找到了獲取日期和時間的方法,有兩個不同的DateTimePicker控件,當然可以用單一控件實現,但爲了簡單起見,我使用了2。我發現了一個與.NET 3.5中的TimeZoneInfo等效的類。現在我正在利用這個課程。 – 2010-01-01 15:38:08

0

使用DateTimePicker可以在Format屬性更改爲定製,並指定CustomFormat屬性DD MMM YYYY HH:MM:SS。這將允許你在你的代碼中使用

DateTime dt = dateTimePicker1.Value; 
dt.Date 
dt.TimeOfDay 

不幸的是,的DateTimePicker沒有內置的TimeZone,但你可以利用

TimeZone tz = TimeZone.CurrentTimeZone; 

也有看看這個問題

Custom Formating a DateTimePicker using CultureInfo

0

Any+Time(TM) Datepicker/Timepicker AJAX Calendar Widget現在支持時區輸入/輸出,選擇和轉換。它應該與.NET兼容(如果遇到問題,請參閱網頁上的故障排除部分),並且具有非常廣泛的時區支持(請參閱網頁上關於UTC偏移量的部分)。希望它能滿足你的需求。

相關問題