如何给TimeSpan一个日期和时间

时间:2015-10-19 04:48:52

标签: c# .net datetime timespan

是否可以获得A和B的时间跨度,其中A(MM-dd-yyyy)= 10-06-2015 23:45且B = 9:00 AM。给定的数据格式正是这篇文章的内容。我想在格式化方面遇到了麻烦,还没有编码工作。

我还有其他与第一个相关的问题,if(A>B)可能吗?其中A(MM-dd-yyyy)= 10-06-2015 23:45,B = 9:00 AM。是否可以比较这两个数据?

2 个答案:

答案 0 :(得分:1)

DateTime a = DateTime.ParseExact( "10-06-2015 23:45"  , "MM-dd-yyyy HH:mm"   , CultureInfo.InvariantCulture );
DateTime b = DateTime.ParseExact( "10-06-2015 9:00 AM", "MM-dd-yyyy hh:mm tt", CultureInfo.InvariantCulture );
TimeSpan difference = a - b;

如果你只知道b到时间,那么这就有效:

DateTime b = DateTime.ParseExact( "9:00 AM" "hh:mm tt", CultureInfo.InvariantCulture );
b = a.Date.Add( b.TimeOfDay );

TimeSpan difference = a - b;

您说您正在使用DateTimePicker,在这种情况下:

DateTime a = dateTimePicker1.Value;
DateTime b = a.Date.Add( dateTimePicker2.TimeOfDay );
TimeSpan difference = a - b;

答案 1 :(得分:0)

请使用TimeOfDay

This也会有所帮助。

示例:定义您的时间。

startDate='10-06-2015' startTime=10-06-2015 23:45:00 AM'

TimeSpan ts = startTime.TimeOfDay;
DateTime dt = startDate.Add(ts);