2013-07-10 3 views
1

내 응용 프로그램에는 주어진 시간 동안 전화에 미리 알림을 설정하는 절차가 있습니다. 그러나 날짜 및 시간을 올바르게 포맷하는 데 문제가 있습니다.Windows Phone - C# - DateTime의 형식을 올바르게 지정하십시오.

날짜가 dd/MM/yyyy 또는 MM/dd/yyyy 형식 인 두 개의 문자열과 날짜가 24hour 형식 인 다른 문자열이 있습니다.

어떻게이 두 문자열을 DateTime으로 포맷 할 수 있습니까? 내가 시도했습니다 DateTime.Parse(date+time);하지만 그 작동하지 않습니다.

여기에 코드의 전체 세트입니다 :

public void setReminder(string fileTitle, string fileContent, string fileDate, string fileTime) 
     { 
      string dateAndTime = fileDate + fileTime; 

      if (ScheduledActionService.Find(fileTitle) != null) 
       ScheduledActionService.Remove(fileTitle); 
      Reminder r = new Reminder(fileTitle) 
      { 
       Content = fileContent, 
       BeginTime = DateTime.Parse(fileDate+fileTime), 
       Title = fileTitle 
      }; 
      ScheduledActionService.Add(r); 
     } 

감사합니다, 당신의 도움이 크게 감사합니다!

+0

fileDate + ""+ FILETIME : 지정자의 전체 목록

? 당신이 그들을 결합하는 방식은 01/01/200023 : 00 : 00처럼 보일 것입니다. 거기에 공간이 필요합니다. – Jonesopolis

+0

작동하지 않아 나중에 오류가 발생했습니다. – Newbie

+0

dd/MM 또는 MM/dd 일 수 있고 확실하게 알 수 없으면 어느 날짜를 신뢰할 수있게 파싱 할 수 없습니다. 12/11은 어느 달입니까? 11 월이나 12 월? 나는 그것이 중요 할 것으로 기대하고 당신이 어떤 형식인지 알지 못한다면 그것을 알 수 없다. –

답변

1

DateTime.ParseExact (MSDN)을 사용하십시오.

string dateAndTime = fileDate + " " + fileTime; 
string pattern = "dd/MM/yyyy HH:mm:ss"; 

Reminder r = new Reminder(fileTitle) 
{ 
    Content = fileContent, 
    BeginTime = DateTime.ParseExact(dateAndTime, pattern, CultureInfo.InvariantCulture), 
    Title = fileTitle 
}; 

패턴이 사용자의 날짜와 일치하는지 확인하십시오. & 시간 패턴. 날짜와 시간을 구분하기 위해 필자는 패턴이있는 것처럼 공간을 추가했습니다. MSDN 어쩌면

+0

감사합니다. 아프지 만, 유럽이나 미국 형식 일 수 있으므로 날짜에 대해서는 어떻게해야합니까? 제안한 방법으로 형식을 지정할 수 있습니까? – Newbie

+0

당신은 그것을 알 수 없습니다. 우리가 데이트를한다면 : 03/06/2013 3 월 6 일 또는 6 월 3 일이라면 저에게 말해 줄 수 있습니까? 당신이 말할 수 없다면, 컴퓨터는 어떻게 알 수 있습니까? – SynerCoder

+0

아, 좋은 지적이야. – Newbie

관련 문제