如果没有写入时间,如何在datetime控件中添加当前时间

时间:2012-06-19 20:32:21

标签: c# asp.net gridview webforms sqldatasource

我有GridViewSqlDataSource

我有一个列类型:DateTime。如果我只在TextBox中输入日期,则时间将为00:00:00。如果没有指定,有没有办法自动添加当前时间?

由于

2 个答案:

答案 0 :(得分:1)

当您只输入TextBox中的日期时,您仍然可以提交并将当前时间添加到日期。

DateTime inputDate = // However you are gathering the date ;
DateTime dateWithCurrentTime = inputDate.Add(DateTime.Now.TimeOfDay);

DateTime有一个Add功能,可让您添加TimeSpan来获取新的DateTime对象。

如果您将当前时间(DateTime.Now.TimeOfDay)添加到您收集的输入中,您将获得一个新的DateTime对象,其中包含当前时间和输入日期。

答案 1 :(得分:1)

没有任何具体的代码,我只能模糊地回答你的问题,但这可能会给你一个想法。

Serverside解决方案: 所有代码背后都是:

// To get the Time of right now 
DateTime oNow = DateTime.Today;

// Get your entered Time assuming it is Entered YYYY/MM/DD
string sEnteredDate = DateTextBox.Text;

// Edit the String to get Year, Month, Day
string sEnteredYear = sEnteredDate.Substring(0, 4);
string sEnteredMonth = sEnteredDate.Substring(5, 2);
string sEnteredDay = sEnteredDate.Substring(8, 2);

// Create final DateTime
DateTime oDateForDb = oNow;

oDateForDb.Day = sEnteredDay;
oDateForDb.Month = sEnteredMonth;
oDateForDb.Year = sEnteredYear;

现在oDateForDb应该有你想要的日期和当前的hh:mm:ss。

此外,整个概念应该适用于Calender Extender或类似的,以保证Input将是正确的DateFormat f.e. YYYY / MM / DD


编辑:

客户端解决方案

http://www.tizag.com/javascriptT/javascriptdate.php

仅在jscript中执行与上面相同的操作。