标签: culture

在非美国文化中使用DateTime的String.FormatException

我得到一个String.FormatException试图转换/解析文化不是非美国时的字符串.奇怪的是,字符串是通过应用与用于将其解析回字符串的格式和文化完全相同的格式和文化生成的.在下面的代码中,所有这些版本都将失败:

const string culture = "ja-JP";
const string format = "dd MMM yyyy"; //error in orignal post included {0:}
CultureInfo info = new CultureInfo(culture);
Thread.CurrentThread.CurrentCulture = info;
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(culture);

//string toParse = String.Format(info, format, DateTime.Now); //error in original post
string toParse = DateTime.Now.ToString(format);
System.Diagnostics.Debug.WriteLine(string.Format("Culture format = {0}, Date = {1}", culture, toParse));
try
{
    DateTime output = DateTime.ParseExact(toParse, format, CultureInfo.InvariantCulture);
    //DateTime output = DateTime.ParseExact(toParse, format, info);
    //DateTime output = DateTime.ParseExact(toParse, format, info, DateTimeStyles.None);
    //DateTime output = Convert.ToDateTime(toParse, …

c# culture datetime

8
推荐指数
1
解决办法
3713
查看次数

比较法国字符Î的问题

当比较"Île"和"Ile"时,C#并不认为它们是相同的.

    string.Equals("Île", "Ile", StringComparison.InvariantCultureIgnoreCase)
Run Code Online (Sandbox Code Playgroud)

对于我遇到的所有其他重音字符,比较工作正常.

我应该使用另一种比较功能吗?

c# string culture compare

8
推荐指数
1
解决办法
1025
查看次数

在WinRT中更改UI文化

是否有可能在WinRT中即时更改UI文化?我发现ApplicationLanguages.PrimaryLanguageOverride = "en";,但这仅在显示应用程序UI之前有效,而不是之后(例如我想通过设置更改UI语言).

culture currentuiculture windows-runtime uiculture

8
推荐指数
1
解决办法
2082
查看次数

IndexOf和序数字符串比较

我的问题是String.IndexOf返回-1.我希望它会回归0.

参数:

text= C:\\Users\\User\\Desktop\\Sync\\?(注意组合海鸥下面的字符)

stringToTrim = C:\\Users\\User\\Desktop\\Sync\\

当我检查索引时,使用is int index = text.IndexOf(stringToTrim);的值.我发现使用序数字符串比较解决了我的这个问题:index-1

int index = text.IndexOf(stringToTrim, StringComparison.Ordinal);
Run Code Online (Sandbox Code Playgroud)

在线阅读,很多Unicode字符(如U + 00B5U + 03BC)映射到相同的符号,因此最好扩展它并规范化两个字符串:

int index = text.Normalize(NormalizationForm.FormKD).IndexOf(stringToTrim.Normalize(NormalizationForm.FormKD), StringComparison.Ordinal);
Run Code Online (Sandbox Code Playgroud)

这是检查一个字符串包含另一个字符串的所有连续字符的索引的正确方法吗?所以我们的想法是,当你想要检查符号是否匹配时,你会规范化,但是当你想通过它们的编码值检查字符时你不规范化(因此允许重复的符号)?此外,有人可以解释为什么int index = text.IndexOf(stringToTrim);在字符串的开头找不到匹配?换句话说,它实际上是在做什么呢?我本来期望它开始从字符串的开头到字符串的结尾搜索字符.

c# string unicode culture indexof

8
推荐指数
1
解决办法
2569
查看次数

在.NET中查找子字符串匹配的结束

我试图在字符串中找到子字符串的索引,该字符串与特定文化下的另一个字符串匹配(从System.CultureInfo提供).

例如,字符串"ass"匹配德国文化下"straße"中的子字符串"aß".

我可以使用找到匹配开始的索引

culture.CompareInfo.IndexOf(value, substring);
Run Code Online (Sandbox Code Playgroud)

但是,如果没有诉诸蛮力,是否有一种简单的方法来识别2个字符是否匹配,而不是3个?

.net string unicode culture

7
推荐指数
1
解决办法
375
查看次数

编程语言中的文化问题

我想知道生产力是否与程序员是否是母语为英语的人有关.我在日本工作,我可以告诉你,日本程序员很难获得一种语言的英语部分(保留关键字,函数名称,教程等),这对他们来说并不自然,他们的思维过程因语言映射开销而变慢.您是否可以分享您与非母语英语演讲者打交道的经验,是否容易克服这一障碍,或者母语为英语的人会永远有一点优势?

culture

7
推荐指数
1
解决办法
1231
查看次数

在C#中循环使用不同语言/文化的嵌入式资源

从一个层次了这个问题,这将是(通过环)来存储所有可用的资源和相关的文化,允许特定文化的用户选择的方式是什么?

进一步说明:

假设有三个资源文件:

  • GUILanguage.resx
  • GUILanguage.fr.resx
  • GUILanguage.it.resx

我可以在每个称为一个字符串LanguageName.我如何能够以编程方式循环遍历不同的LanguageName值以列出它们(例如列表框)?

编辑:WinForms项目,嵌入式资源.

c# culture resources localization embedded-resource

7
推荐指数
1
解决办法
4806
查看次数

CultureInfo瑞典语

我想将日期时间转换为瑞典文化.

DateTime.Today.ToString("dd MMMM yyyy");
Run Code Online (Sandbox Code Playgroud)

上面的代码行为给出了2013年12月27日的结果

我想要用瑞典语显示十二月的结果.

c# asp.net culture

7
推荐指数
2
解决办法
1万
查看次数

在asp.net中收到阿拉伯语日期时间错误

我使用ADO断开模式通过填充数据集ds从数据库获取数据.除日期字段外,所有数据都成立

string strDate = ds.Tables[0].Rows[0]["H_DT"].ToString();
Run Code Online (Sandbox Code Playgroud)

抛出异常说:

此日历不支持指定的时间.它应该在04/30/1900 00:00:00(格里高利日)和11/16/2077 23:59:59(格里高利日期)之间.

我试着写这段代码

System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("ar-sa");
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("ar-sa");
Run Code Online (Sandbox Code Playgroud)

把文化改成阿拉伯语,但没有任何运气.

更新

以下是变量快速监视的屏幕截图

在此输入图像描述

c# culture datetime calendar

7
推荐指数
1
解决办法
4110
查看次数

格式化欧洲格式的数字,带有两位小数

尝试在欧洲文化中将数字格式化为两位小数格式.这样逗号就是小数分隔符和空格千位分隔符.

在示例中,213245应格式化为213 245,00

我怎样才能做到这一点?

213245.toFixed(2).toLocaleString(); 
Run Code Online (Sandbox Code Playgroud)

给出213245.00但它应该是213 245,00

然而

213245.toLocaleString()
Run Code Online (Sandbox Code Playgroud)

给出213 245

小提琴下面:

var out, input;
input = 213245;

// TEST 1
out = input.toFixed(2);   
console.log(out); // 213245.00
out = out.toLocaleString();
console.log(out); // 213245.00

// TEST 2
out = input.toLocaleString();
console.log(out); // 213 245
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/rootnode/8p2vad8u/7/

javascript formatting culture locale

7
推荐指数
1
解决办法
1万
查看次数