2013-12-13 137 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:00

當我測試此代碼:

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

       } 

格式msg2times是正確的,但是當我在波斯語加上一句話,這是incorreect!

msg4SmsPart2 += msg2times; 
+1

你確定你的時間[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

此代碼有錯誤:無法從'字符串'轉換爲'System.IFormatProvider' – NASRIN

1

這將這樣的伎倆:

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

這可能是Unicode的比迪控制的問題,所以,你可以給它一個嘗試:

添加

只是時間之前3210
U+202A: LEFT-TO-RIGHT EMBEDDING (LRE) 

控制字符和

U+202C: POP DIRECTIONAL FORMATTING (PDF) 
它之後

Unicode controls vs. markup for bidi support

相關問題