计算从抵达时间和旅行时间开始的时间

Rik*_*i B 3 c# datetime

我需要从给定的到达和旅行时间计算发射时间.我已经研究过DateTime,但我不太确定我会怎么做.我使用monthCalander以下面的格式获取到达dateTime.

Example:

Arrival_time = 20/03/2013 09:00:00
Travel_time = 00:30:00

Launch_time = Arrival_time - Travel_time

Launch_time should equal: 20/03/2013 08:30:00
Run Code Online (Sandbox Code Playgroud)

有人能告诉我一个简单的方法来实现这一点.非常感谢.

Mat*_*son 5

使用TimeSpan:

DateTime arrivalTime = new DateTime(2013, 03, 20, 09, 00, 00);
// Or perhaps: DateTime arrivalTime = monthCalendar.SelectionStart;

TimeSpan travelTime = TimeSpan.FromMinutes(30);
DateTime launchTime = arrivalTime - travelTime;
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因您无法使用MonthCalendar.SelectionStartDateTime并且您只有字符串可用,则可以将其解析为DateTime,如下所示(对于该特定格式):

string textArrivalTime = "20/03/2013 09:00:00";
string dateTimeFormat = "dd/MM/yyyy HH:mm:ss";

DateTime arrivalTime = DateTime.ParseExact(textArrivalTime, dateTimeFormat, CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)