如何在c#中连接日期和时间
本文关键字:日期 时间 连接 | 更新日期: 2023-09-27 17:54:25
Higuys,
我有一个文本框,用户可以在其中选择日期(MM/dd/yyyy(,还有一个文本盒,choose可以在其中插入时间(hh:MM(。
<tr>
<td>
<asp:Label ID="Label1" runat="server" CssClass="cp_title">Event Date:</asp:Label>
</td>
<td>
<asp:Label ID="Label2" runat="server" CssClass="cp_title">Event Time(hh:mm):</asp:Label>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="txtEventDate" runat="server">
</asp:TextBox>
<cc1:CalendarExtender ID="cldEventDate" runat="server" TargetControlID="txtEventDate"
PopupPosition="BottomLeft" Format="MM/dd/yyyy">
</cc1:CalendarExtender>
</td>
<td>
<asp:TextBox runat="server" ID="txtEventTime"></asp:TextBox>
</td>
</tr>
在数据库中,我有一个DateTime单列,所以我必须将用户输入"连接"为真实的日期时间格式。。。
我看到DateTime的构造函数,它采用args:年、月、日、小时、分钟、秒,,但这需要我解析用户输入并在这些时间段中进行拆分。。。。
你知道一个更简单的解决方案吗?
您可以使用DateTime.ParseExact()
:
DateTime.ParseExact(txtEventDate.Text + " " + txtEventTime.Text,
"MM/dd/yyyy HH:mm", CultureInfo.InvariantCulture)
在尝试任何类型的串联之前,您可能应该验证和/或修剪文本框中的文本。
string _eventDate = "01/01/2011"; //in your case txtEventDate.Text
string _eventTime = "09:00 AM"; //in your case txtEventTime.Text
DateTime eventDate = Convert.ToDateTime(String.Format("{0} {1}",(_eventDate), _eventTime)));
我强烈建议使用JqueryUI为您提供日期和时间选择器。演示:http://jqueryui.com/demos/datepicker/
http://fgelinas.com/code/timepicker/
使用DateTime.ParseExact方法。
string dateString = txtEventDate.Text + " " + txtEventTime.Text;
string format = dateFormat + " " + timeFormat;
DateTime result;
CultureInfo provider = CultureInfo.InvariantCulture;
result = DateTime.ParseExact(dateString, format, provider);
您可以这样做:
string date = "1/2/2011";
string time = "12:15";
DateTime temp = Convert.ToDateTime(date + " " + time);
您可以将DateTime.ParseExact
方法与适当的格式字符串和您的连接用户输入一起使用。