我有一个GridView
和SqlDataSource
,
我有一个列类型:DateTime
. 如果我只在 中键入日期TextBox
,那么时间将是00:00:00
。如果未指定,有什么方法可以自动添加当前时间?
谢谢
我有一个GridView
和SqlDataSource
,
我有一个列类型:DateTime
. 如果我只在 中键入日期TextBox
,那么时间将是00:00:00
。如果未指定,有什么方法可以自动添加当前时间?
谢谢
当您仅在中键入日期时,TextBox
您仍然可以提交并将当前时间添加到日期中。
DateTime inputDate = // However you are gathering the date ;
DateTime dateWithCurrentTime = inputDate.Add(DateTime.Now.TimeOfDay);
DateTime 有一个Add
函数可以让你添加一个TimeSpan
来获取一个新DateTime
对象。
如果您将当前时间 ( DateTime.Now.TimeOfDay
) 添加到您收集的输入中,您将获得一个DateTime
包含当前时间和输入日期的新对象。
没有任何具体的代码,我只能模糊地回答你的问题,但这可能会给你一个想法。
服务器端解决方案: 全部在代码中:
// 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 或类似的工作正常工作,以保证输入将是正确的 DateFormat fe YYYY/MM/DD
编辑:
客户端解决方案
http://www.tizag.com/javascriptT/javascriptdate.php
这次只在 jscript 中执行与上述相同的操作。