我有一个字符串“星期六”,我想将它改为其他语言文化,例如Ploish(波兰)。如何在C#中进行更改。周中的文化变化
周中的文化变化
回答
此代码示例将改变文化信息,以意大利语:
CultureInfo itCI = new CultureInfo("it-IT");
Thread.CurrentThread.CurrentCulture = itCI;
然后,让周(今天)的天权,你可以这样做:
DayOfWeek giornoSet = DateTime.Now.DayOfWeek;
string giornoSetS =CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(giornoSet);
下面是如何获得一个字符串的工作日:
DayOfWeek wednesday =
(DayOfWeek)Enum.Parse(typeof(DayOfWeek), "Wednesday");
使用CultureInfo.CreateSpecificCulture()
创建实例,然后使用DateTimeFormat.GetDayName()
获取您想要的特定日期的名称。
CultureInfo.CreateSpecificCulture("pl-PL").DateTimeFormat.GetDayName(DayOfWeek.Saturday)
要获得DayOfWeek
您原始的字符串,你可以使用Enum.TryParse<DayOfWeek>("Saturday")
:
DayOfWeek day;
if (Enum.TryParse<DayOfWeek>("Saturday", out day))
{
var dayInPolish = CultureInfo.CreateSpecificCulture("pl-PL").DateTimeFormat.GetDayName(day);
}
注意,如果输入值是英文Enum.TryParse
才会工作。您可以使用CultureInfo.DateTimeFormat.DayNames
查找其他语言的日期名称。
对我来说,这个答案是完整的,你需要澄清如何从字符串“星期六”到“DayOfWeek.Saturday” – Chris
编辑。错过了那部分:) –
你可以试试这个:
DateTime.Now.ToString("dddd", System.Globalization.CultureInfo.CreateSpecificCulture("pl-PL"))
[编辑]
您可以使用此功能:
private static string TranslateDay(string dayInStringFormat, string culture)
{
try
{
return CultureInfo.CreateSpecificCulture(culture).DateTimeFormat
.GetDayName((DayOfWeek)Enum.Parse(typeof(DayOfWeek), dayInStringFormat));
}
catch (Exception)
{
return null;
}
}
他不希望今天在特定的文化中。他想要字符串“星期六”。 – Chris
@克里斯,我修好了,谢谢。 –
您可以使用DateTimeFormat.GetDayName
:
var culturePoland = CultureInfo.CreateSpecificCulture("pl-PL");
DayOfWeek dow;
if (Enum.TryParse<DayOfWeek>("Saturday", out dow))
{
string day = culturePoland.DateTimeFormat.GetDayName(dow);
Console.Write(day); // sobota
}
下面应该工作:
var inputDay = "Saturday";
var SourceCulture = new System.Globalization.CultureInfo("en-gb");
var DestinationCulture = new System.Globalization.CultureInfo("pl-pl");
var dayInt = Array.IndexOf(SourceCulture.DateTimeFormat.DayNames, inputDay);
Console.WriteLine(DestinationCulture.DateTimeFormat.GetDayName((DayOfWeek)dayInt));
请注意,写它的情况下,在一周的某一天敏感,会抛出一个错误,如果一周中的一天没有找到,因此需要添加一些检查。
值得注意的是,这指定了源文化,所以如果你有法国名称,只需更改源文化即可使用。
- 1. 聆听当前周的变化?
- 2. 听周期性变化在Backbone.js的
- 3. 卡阿变化采样周期
- 4. 总每周都有变化VBA
- 5. 文本变化:
- 6. 不变文化
- 7. 格式化本地化日期与文化变化的年份
- 8. 聆听外部JavaScript文件中的变化变化
- 9. Android:听变化的变化
- 10. 硬币变化的变化
- 11. 变化而变化
- 12. Web.Config文化不变?
- 13. 变化值文件
- 14. 变化时机文
- 15. 安卓片段生命周期中的方向变化
- 16. 计算圆周运动中的角度变化
- 17. 文化信息变化时DateTime.Parse()失败
- 18. Facebook的变化api,文章?
- 19. 改变文化的问题
- 20. jQuery的变化文本
- 21. JQuery的变化文本
- 22. 更新的文字变化
- 23. Flex:Spark List在视图中的取向变化在方向变化上的变化
- 24. 变化(Xcode中)
- 25. Knockout.js力变化而变化的文本框
- 26. 剑道号码格式在文化中的变化
- 27. 如何在ASP.NET全球化中配置不变的文化?
- 28. C#中的文化变化(语言更改)
- 29. OwinMiddleware不保留.net 4.6中的文化变化。*
- 30. CheckboxList中的ListItems文字颜色变化
这不会帮助将字符串“星期六”更改为不同文化中的等效字符串。 – Chris
你是对的@Chris。固定。 – Th0rndike
这仍然没有考虑到起始字符串“星期六”。你真的需要一行'string dayname =“Saturday”;或类似的代码来正确使用问题所具有的输入。 – Chris