2015-01-12 2 views
0

나는 Windows 시스템에서 실행되는 C# 웹 서비스를 가지고 있고,이 코드가 있습니다얻기 날짜 형식은

Details = tInfoRequestHistory.Select(i => new AppJsonDetails 
           { 
            Type = i.PlatformUserId == null ? "Request" : "Response", 
            Date = i.Date.ToString("D"), 
            Time = i.Date.ToString("hh:mm tt"), 
            Text = i.Comment, 
           }).ToArray() 

그리고 난 내 응용 프로그램에서이 JSON 수신 해요 :

{ 
    Date = "lunes, 12 de enero de 2015"; 
    Text = "402\\nGarcia\\n01/12/15 12:52 \\nBla bla"; 
    Time = "11:52 "; 
    Type = Request; 
} 

당신이 볼 수 있듯이이 명령으로 생성 된 "시간"에 PM/AM (실제로 공백이 있음)이 누락되었습니다. i.Date.ToString ("hh : mm tt")

내 개발 컴퓨터에서 코드를 실행하는 경우 보내고 있습니다.

나는 윈도우 서버 2012을 사용하고 있는데 난 내 서버 시계에 "오후 12시"

을 읽고 있어요 그래서 마지막 8.0 및 IIS 난 그냥 내 개발 컴퓨터에 맞게 내 서버의 국가 별 설정을 변경 한

이것이 내가 서버 또는 IIS 또는 Web.config에없는 일부 구성임을 확신합니다.

도움이나 아이디어는 정말 감사하겠습니다.

답변

1

, 당신은 어떤 IFormatProvider없이 DateTime.ToString()를 사용하기 때문에, 당신의 CurrentCultureAMDesignator 및/또는 PMDesignator 속성은 빈 문자열처럼 들린다.

나는 InvariantCultureIFormatProvider과 같이 사용하도록 제안합니다.

i.Date.ToString("hh:mm tt", CultureInfo.InvariantCulture); 

아니면 윈도우 머신의 지역 설정에 비어AMDesignatorPMDesignator 특성을 가지고 현재의 문화를 변경합니다.

+0

내 친구 고맙습니다 !! 너는 최고야 !! –

+0

@MarcoAntonioUzcateguiPescoz 기꺼이 도와 드리겠습니다. –

관련 문제