9

我正在尝试将阿拉伯字符串与前导 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

任何想法都会受到赞赏

4

4 回答 4

5

您可以使用此代码

var strArabic = "Jim قام بإعادة تعيين هذه المهمة إلى John";
var strEnglish = dateTime.ToString() ; 
var LRM = ((char)0x200E).ToString();  // This is a LRM
var result = strArabic  + LRM +  strEnglish ; 
于 2012-10-02T14:45:37.240 回答
1

尝试使用string.Format

string test1 = string.Format("{0}:  {1}", arabicText, dateTime.ToString());

这应该会产生您正在寻找的结果。

于 2012-10-02T14:52:27.380 回答
0

您是否尝试过 string.format() 方法?也许它可以解决你的问题。

于 2012-10-02T14:50:57.840 回答
0

阿拉伯文字从右到左,所以你最终得到的版本是正确的。如果您真的想要另一种方式,为什么不交换参数顺序呢?

于 2012-10-02T14:41:37.713 回答