2012-02-10 74 views
1

Iam在WinForm上工作.. 在一個我的表單中我需要保存當前時間..保存相應的表相同被聲明爲varchar(15)..我用了一個日期時間選擇器做同樣的..將時間保存到varchar字段

我怎樣才能做到這一點

+0

它是Winforms還是ASP.NET?請更改您的標籤。 – Icarus 2012-02-10 06:00:36

+0

@Icarus DateTimePicker也是一個除jQuery UI以外的WinForms框架控件 – Devjosh 2012-02-10 06:03:19

+0

真正的答案是「不」。時間應該存儲爲日期/時間數據類型。如果你可以更改數據庫,但是你沒有,那麼你以後幾乎肯定會後悔的。 – phoog 2012-02-10 06:06:12

回答

3

您讀取來自dateTimePricker日期和這樣做:

string theDateIWantToSaveAsString = dateTimePicker.SelectedDate.ToString(); 

現在它保存到數據庫中。

編輯

要只搶時間字符串...

string theTimeIWantToSaveInTheDatabase = Convert.ToDateTime(dtpStartTime.Text).ToString("HH:mm:ss"); 

現在保存theTimeIWantToSaveInTheDatabase如果這就是你想要什麼,但我強烈建議,如果你有控制數據庫,將表中的數據類型更改爲適合存儲時間的內容。

+0

thermicLogsheetInfo.log_Time = Convert.ToDateTime(dtpStartTime.Text); Wat得到保存的是與時間的日期......但我juzz只需要保存只有時間 – Lijina 2012-02-10 06:03:06

+0

Juzz修改上面的代碼行......以便只有時間得到保存 – Lijina 2012-02-10 06:06:01

+0

@Lijina看到我的編輯。 – Icarus 2012-02-10 06:14:25

0

您可以從Date類的的ToString()方法來檢索當前時間:

string formattedTime = Date.Now().ToString("HH:mm:ss") 

這會給你24小時格式的當前時間。 見MSDN頁的更多信息,格式化

0

你可以試試:

如果你想節省時間&時間:

string DateTimeToBeSaved = dateTimePicker1.Value.ToString("MM/dd/yyyy HH:mm:ss", 
     new System.Globalization.CultureInfo("en-US"); 

您應該擴展該列VARCHAR2的大小(18) ;

如果你婉只保存日期:

string DateToBeSaved = dateTimePicker1.Value.ToString("MM/dd/yyyy", 
     new System.Globalization.CultureInfo("en-US"); 

HTH。