2011-01-28 3 views
0

현재 프로젝트 : 두 클래스로 C#으로 시간 프로그램을 만들려면 시간과 확장 시간은 보통 시간이고 확장 시간은 표준 시간대입니다.현재 시간을 얻고 그 후에 그것을 증가 시키는가?

프로그램을 시작할 때 버튼을 클릭하고 현재 시간을 가져야하지만 시간대를 변경하는 옵션이 필요합니다. 이것은 차례로 시간을 변경하고 시간을 몇 시간이나 몇 분 늘리는 옵션도 있습니다.

내가 아무리을 호출하지 그 때마다 제외하고는 나쁘지 않다
public virtual string displayTime() 
{ 
    DateTime time = DateTime.Now; // Use current time 
    string format = "MMM ddd d HH:mm yyyy"; // Use this format 
    MessageBox.Show(time.ToString(format)); // Write to console 

    return time.ToString(format); 
}//end of displayTime 

는 항상 나에게의 때문에 현재 시간을 알려줍니다 무엇 :

현재,이 같은 시간 클래스 내 displayTime 방법은 모습입니다 DateTime.Now

나는 그걸 어떻게 극복 할 수 있을지 잘 모르겠습니다. 나는 이것을 할 수 있지만 한 구문의 확실하지 한 번 거래가 있다고 확신합니다.

+6

C# (.net이 아님)의 의미는 무엇입니까? –

+2

@Shan : 나는 그것이 "새로운 사람"이라는 것을 확신합니다. OP는 아마도 "C# (asp.net이 아님)"을 의미합니다. – NotMe

+0

감사합니다. : P 그래, 나는 C# 일 뿐이라고. 누군가가 내가 C#으로 게시 한 마지막 시간에 나를 오해하여 앞서 생각하려고했습니다. : P –

답변

5

TimeTime 클래스를 사용하여 DateTime 클래스를 조작 할 수 있습니다. 예를 들어 : 사용자가 제공 한 시간을 사용하는 경우

DateTime now = DateTime.Now; 
DateTime twoHoursLater = now + new TimeSpan(2,0,0); 
DateTime twoDaysLater = now + new TimeSpan(2,0,0,0); 

, 같은 텍스트 상자에서 하나, 당신은

DateTime userSuppliedTime = DateTime.Parse(myTextbox.Text); 

당신에게 어떤 사용자에 해당하는 날짜 시간을 줄 것이다 사용할 수 있습니다 들어간다. 그러나 사용자가 시스템이 유효하지 않은 것으로 입력하면 예외가 발생합니다.

+0

나는 그것이 작동하지만 txt 박스의 값을 사용하여 현재 시간을 변경할 수있는 곳을 볼 수 있습니다. 이 방법으로하겠습니까? 또한 표준 시간대도 있습니다. –

+0

또한 두 개의 텍스트 상자를 분 단위로 사용하고 한 시간 단위로 두 상자를 어떻게 파싱 할 수 있습니까? –

+0

다음과 같이 텍스트 상자 문자열을 결합 할 수 있습니다. DateTime.Parse (myTextboxHours.Text + ":"+ myTextboxMinutes.Text); – GWLlosa

1

DateTime 필드를 조작하는 코드가 없으므로 현재 시간이 표시됩니다.

표준 시간대를 적용하려면 TimeZoneInfo 클래스를 살펴보십시오.

0

실제로이 종류의 작업에 적합한 DateTimeOffset 구조를 사용해야합니다.

관련 문제