我有GridView
和SqlDataSource
,
我有一个列类型:DateTime
。如果我只在TextBox
中输入日期,则时间将为00:00:00
。如果没有指定,有没有办法自动添加当前时间?
由于
答案 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中执行与上面相同的操作。