2013-03-17 3 views
3

주어진 도착 시간과 출발 시간부터 발사 시간을 계산해야합니다. 나는 DateTime을 살펴 봤지만, 어떻게 할 것인지는 잘 모르겠습니다. monthCalander를 사용하여 도착 날짜 시간을 아래 형식으로 얻습니다.도착 시간과 여행 시간에서 발사 시간을 계산하십시오.

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 

누구든지 나를이 간단한 방법으로 보여줄 수 있습니까? 고마워.

답변

2

DateTime 개체와 시간대를 혼합하여 사용합니다. 나는 이것을 보여주기 위해 작은 콘솔 앱을 조롱했다.

using System; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.Title = "Datetime checker"; 
      Console.Write("Enter the date and time to launch from: "); 
      DateTime time1 = DateTime.Parse(Console.ReadLine()); 
      Console.WriteLine(); 
      Console.Write("Enter the time to take off: "); 
      TimeSpan time2 = TimeSpan.Parse(Console.ReadLine()); 
      DateTime launch = time1.Subtract(time2); 
      Console.WriteLine("The launch time is: {0}", launch.ToString()); 
      Console.ReadLine(); 
     } 
    } 
} 

예제 입력을 사용하여 예상되는 출력을 얻었습니다. 이는 사용자의 요구에 부합해야합니다.

이 정보가 출시 시간을 단축 할 수 있기를 바랍니다.

+0

젠장, 충분히 빠르지 않아. –

+0

나는 또한 당신의 프로그램을 볼 것입니다. 도움을 주셔서 감사합니다, 그것은 크게 appriciated. –

+0

당신의 영혼이 나에게 즉시 금이갔습니다. 감사 –

5

사용 TimeSpan : 어떤 이유로 당신이 날짜 시간에 얻을 MonthCalendar.SelectionStart를 사용할 수 없으며에만 사용할 문자열이있는 경우

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; 

, 당신이 특정에 대한 (다음과 같이 날짜 시간으로 구문 분석 할 수 형식) :

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

DateTime arrivalTime = DateTime.ParseExact(textArrivalTime, dateTimeFormat, CultureInfo.InvariantCulture); 
+0

답장을 보내 주셔서 감사합니다. 나는 지금 당신의 제안을 시도 할 것입니다. –

+0

원본 게시물의 형식을 수락하려면 어떻게 수정해야합니까? split()을 어떤 식 으로든 사용합니까? –

+0

MonthCalendar는 일부 텍스트를 구문 분석하지 않고 직접 사용할 수있는 DateTime 백을 제공해야한다고 생각합니다. 하나의 날짜 만 선택하면'MonthCalendar.SelectionStart'를 사용할 수 있어야합니다. 그렇지 않으면 구문 분석 할 날짜 형식을 지정할 수있는'DateTime.ParseExact()'를 살펴보십시오. –

관련 문제