我的程序用波斯语创建一条消息,它有时间像12:00或12:45。我想向用户显示此消息。 html视图中的此消息格式不正确。
问题在于时间如下:54:12或00:12。
如何更改格式?
for (int j = 1; j < time[i].Count; j++)
{
msg4SmsPart2 += countPoll.ToString() + ". " + date + " " + time[i][j] + " ";
}
tim [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的格式是正确的但是当我用波斯语添加一个句子时,它是无法解决的!
msg4SmsPart2 += msg2times;
答案 0 :(得分: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
}
答案 1 :(得分: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] + " ";
}
答案 2 :(得分:1)
这可能是 Unicode-BiDi 控件的问题,所以你可以尝试一下:
添加
U+202A: LEFT-TO-RIGHT EMBEDDING (LRE)
在时间之前控制角色和
U+202C: POP DIRECTIONAL FORMATTING (PDF)
就在它之后。