小编Ken*_*son的帖子

String.Format在阿拉伯语中没有正确转换整数

我有String.Format的问题.除了第一个整数之外,以下代码正确格式化了字符串.目前的文化被定为伊拉克阿拉伯语(ar-IQ):

int currentItem= 1;
string of= "??";
int count = 2;
string formatted = string.Format(CultureInfo.CurrentCulture, "{0}{1}{2}", currentItem, of, count);
Run Code Online (Sandbox Code Playgroud)

文本从右到左格式化,2转换为阿拉伯数字,但1不是.

有任何想法吗?

c# string formatting cultureinfo

9
推荐指数
1
解决办法
4326
查看次数

将公历日期转换为 Um al Qura 时损失一天

使用 Um al Qura 日历获取 C# DateTime 对象的日、月和年组件时遇到问题。

代码片段是:

DateTime date = new DateTime(2013, 6, 24);
UmAlQuraCalendar umAlQuraCalendar = new UmAlQuraCalendar();
int year = umAlQuraCalendar.GetYear(date);
int month = umAlQuraCalendar.GetMonth(date);
int day = umAlQuraCalendar.GetDayOfMonth(date);
Run Code Online (Sandbox Code Playgroud)

运行后,年份是 1434,月份是 8,这两个都是正确的。然而,天是 14,这是错误的(根据这里:http : //www.al-habib.info/islamic-calendar/islamic-calendar-ummulqura-2013.htm

如果我将代码更改为:

DateTime date = new DateTime(2013, 6, 24, 0, 0, 0, 1); // i.e. One millisecond after midnight
UmAlQuraCalendar umAlQuraCalendar = new UmAlQuraCalendar();
int year = umAlQuraCalendar.GetYear(date);
int month = umAlQuraCalendar.GetMonth(date);
int day = umAlQuraCalendar.GetDayOfMonth(date); 
Run Code Online (Sandbox Code Playgroud)

然后天是 15,这是正确的。

更奇怪的是,此代码位于大型应用程序的深处:从 VB6 …

c# datetime .net-2.0

6
推荐指数
1
解决办法
2361
查看次数

标签 统计

c# ×2

.net-2.0 ×1

cultureinfo ×1

datetime ×1

formatting ×1

string ×1