C# 如何在C中将DateTime中的数字转换为Unicode区域性#

C# 如何在C中将DateTime中的数字转换为Unicode区域性#,c#,datetime,unicode,digits,C#,Datetime,Unicode,Digits,我已经使用以下代码转换了unicode中的datetime值- CultureInfo cultureMarathi = new CultureInfo("mr-IN"); nextCheckDate=nextCheckupDateTimePicker.Value.ToString("dddd, dd-MMM-yyyy", cultureMarathi); 它将我的datetime转换为“गुरूवार, 26मे 2016“但数字仍然是罗马体。如何根据区域性转换这些数字。尝试以下方法: Cu

我已经使用以下代码转换了unicode中的datetime值-

CultureInfo cultureMarathi = new CultureInfo("mr-IN");
nextCheckDate=nextCheckupDateTimePicker.Value.ToString("dddd, dd-MMM-yyyy", cultureMarathi);
它将我的datetime转换为“गुरूवार, 26मे 2016“但数字仍然是罗马体。如何根据区域性转换这些数字。

尝试以下方法:

CultureInfo cultureMarathi = new CultureInfo("mr-IN");
cultureMarathi.NumberFormat.DigitSubstitution = DigitShapes.NativeNational;
nextCheckDate=nextCheckupDateTimePicker.Value.ToString("dddd, dd-MMM-yyyy", cultureMarathi)
Thread.CurrentThread.CurrentCulture = cultureMarathi;

我不确定这一点,但你能检查一下你的字体在本地脚本中是否有数字吗?我认为数字替换发生在渲染过程中,而不是在格式化字符串时。请看和。@jdweng:这个问题之所以被关闭是有原因的,请不要在问题帖子中添加答案。为什么OP应该尝试这样做?+1表示
NumberFormat.DigitSubstitution
,但令人惊讶的是,在我的测试中,它仍然显示罗马数字…@AlexeiLevenkov,因为
NumberFormat.DigitSubstitution
对我来说是一门新知识。。。但不幸的是,根据你的评论,OP的本机数字似乎不受支持。@AlexeiLevenkov lol。。。“同情投票”是指我的行为吗这也是新知识……:)(对我有用)@AlexeiLevenkov O.O.。我就知道。。。