2013-12-13 2 views
1

내 프로그램에서 페르시아 언어로 12:00 또는 12:45와 같은 시간을 갖는 메시지를 만듭니다. 나는이 메시지를 사용자에게 보여주고 싶다. HTML보기의이 메시지는 올바른 형식이 아닙니다.왜 rtl이 아닌가요?

문제는 시간이 54:12 또는 00:12와 같습니다.

어떻게 형식을 변경할 수 있습니까 ??

for (int j = 1; j < time[i].Count; j++) 
{ 
    msg4SmsPart2 += countPoll.ToString() + ". " + date + " " + time[i][j] + " "; 
} 

팀은 [I]는 [J]를 추천 내 시간 : 12:00 12:45, ....

최종 메시지는 : 1. 1392년 9월 27일 12 : 45 (2) 1392/9/27 13 : 37 3. 1392/9/28 13 : 50 4. 1392/9/28 10 : 00-12 : 00.

내 사이트에있는 모든 시간은 다음과 같습니다. 1. 1392/9/27 45 : 12 2. 1392/9/27 37 : 13 3. 1392/9/28 50 : 13 4. 1392/9/28 00 : 10-12 : msg2times의

for (int j = 1; j < time[i].Count; j++) 
       { 
        msg2times += countPoll.ToString() + ". " + date + " " + time[i][j] + " "; 

       } 

형식이 정확하지만 페르시아어 언어로 문장을 추가 할 때, 그것은 incorreect의 :이 코드를 테스트 00

!

msg4SmsPart2 += msg2times; 
+1

Unicode controls vs. markup for bidi support를 참조하십시오 [I] [J]입니다 : 12시 45분하지 45:12? – SpiderCode

+0

예, 내 사이트의 최종 메시지 사본이며 내 질문에 맞지만 내 사이트에는 정확하지 않습니다! – NASRIN

+1

확인. 더 많은 코드 샘플을 제공 할 수 있습니까? 정확한 문제를 파악할 수 있습니다. – SpiderCode

답변

1

는이

  for (int j = 1; j < time[i].Count; j++) 
      { 
       msg4SmsPart2 = countPoll.ToString() + ". " + date + " " + time[i][j] + " "; 
       msg4SmsPart2 += msg4SmsPart2.ToString("HH:mm:ss");//formating for time 
      } 
+0

이 코드에는 오류가 있습니다. 'string'에서 'System.IFormatProvider'로 변환 할 수 없습니다. – NASRIN

1

이 트릭 할 것입니다 시도 : 그것은 유니 코드의 BiDi 통제의 문제가 될 수

for (int j = 1; j < time[i].Count; j++) 
{ 
    var time = string.Empty; 
    if (time[i][j] != null) 
    { 
     time = (Convert.ToDateTime(time[i][j])).ToString("hh:mm"); 
    } 

    msg4SmsPart2 += countPoll.ToString() + ". " + date + " " + time[i][j] + " "; 
} 
1

을, 그래서 당신은 그것으로 시도를 제공 할 수 있습니다 :

추가

단지 시간 전에3210
U+202A: LEFT-TO-RIGHT EMBEDDING (LRE) 

제어 문자와 그냥 후

U+202C: POP DIRECTIONAL FORMATTING (PDF) 

.

은 확실히 당신의 시간이다

관련 문제