我有一个日历和一个包含一天中的时间的文本框.我想创建一个日期时间,它是两者的组合.我知道我可以通过查看小时和分钟然后将这些添加到日历DateTime来实现,但这看起来相当混乱.
有没有更好的办法?
Sim*_*ens 96
您可以使用DateTime.Add()方法将时间添加到日期.
DateTime date = DateTime.Now;
TimeSpan time = new TimeSpan(36, 0, 0, 0);
DateTime combined = date.Add(time);
Console.WriteLine("{0:dddd}", combined);
Run Code Online (Sandbox Code Playgroud)
您还可以通过解析String来创建时间跨度,如果这是您需要做的.
或者,您可以查看使用其他控件.你没有提到你是否使用winforms,wpf或asp.net,但是有各种日期和时间选择器控件支持选择日期和时间.
小智 10
如果您使用两个DateTime对象,一个用于存储另一个时间的日期,则可以执行以下操作:
var date = new DateTime(2016,6,28);
var time = new DateTime(1,1,1,13,13,13);
var combinedDateTime = date.AddTicks(time.TimeOfDay.Ticks);
Run Code Online (Sandbox Code Playgroud)
这方面的一个例子可以在这里找到
根据您如何格式化(和验证!)在文本框中输入的日期,您可以执行以下操作:
TimeSpan time;
if (TimeSpan.TryParse(textboxTime.Text, out time))
{
// calendarDate is the DateTime value of the calendar control
calendarDate = calendarDate.Add(time);
}
else
{
// notify user about wrong date format
}
Run Code Online (Sandbox Code Playgroud)
请注意,TimeSpan.TryParse期望字符串采用“hh:mm”格式(可选秒)。
| 归档时间: |
|
| 查看次数: |
137675 次 |
| 最近记录: |