2012-02-10 78 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。