我正在尝试将一个阿拉伯字符串与一个领先的DateTime连接起来,我已尝试过各种方式,但DateTime总是以字符串的结尾结束
var arabicText = "Jim قام بإعادة تعيين هذه المهمة إلى John";
var dateTime = DateTime.Now;
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("ar-AE");
string test1 = arabicText + " :" + dateTime.ToString();
string test2 = arabicText + " :" + dateTime.ToString(ci);
所以当显示它时,它应该显示
JimقامبإعادةتعيينهذهالمهمةإلىJohn:02/10/2012
但我似乎总是以
结束02/10/2012:JimقامبإعادةتعيينهذهالمهمةإلىJohn
任何想法都会被提及
答案 0 :(得分:5)
您可以使用此代码
var strArabic = "Jim قام بإعادة تعيين هذه المهمة إلى John";
var strEnglish = dateTime.ToString() ;
var LRM = ((char)0x200E).ToString(); // This is a LRM
var result = strArabic + LRM + strEnglish ;
答案 1 :(得分:1)
尝试使用string.Format
:
string test1 = string.Format("{0}: {1}", arabicText, dateTime.ToString());
这应该产生你正在寻找的结果。
答案 2 :(得分:0)
阿拉伯文字从右到左,所以你最终得到的版本是正确的。 如果你真的想要另一种方式,为什么不交换参数顺序?
答案 3 :(得分:0)
您是否尝试过string.format()方法?也许它可以解决你的问题。