如何设置DateTime小时,分钟和秒?

use*_*566 2 c# string datetime parsing seconds

private void StartAuction()
{
    DateTime closeDate;
    closeDate = DateTime.Parse(Console.ReadLine());
}
Run Code Online (Sandbox Code Playgroud)

我可以设置日期,月份和年份,但我希望小时,分钟和秒自动设置为当天的当前时间.例如,如果当前时间是15:24,我希望用户添加可能的日期,21/03/2013然后我希望时间是15:24:00而不是00:00:00目前的时间.

有什么建议?

Jon*_*eet 11

那么你可以DateTime.Now用来获取当前时间,然后从中获取TimeOfDay并将其添加到Date现有时间DateTime:

private void StartAuction()
{
    DateTime closeDate = DateTime.Parse(Console.ReadLine());
    DateTime closeDateAtCurrentTime = closeDate.Date + DateTime.Now.TimeOfDay;
    ...
}
Run Code Online (Sandbox Code Playgroud)

(我明确地使用了该Date属性,因此即使用户确实输入了一个时间,它也基本上被剥离了.)

作为一个公然的插件,您可能还想考虑使用我的Noda Time库,它将"日期","时间"和"日期/时间"的概念分成不同的类型.(以及"本地"值与您知道UTC偏移量或时区的值.)