C# 用一种不那么难看的方式来本地化DayOfWeek?
有没有什么方法可以让这种文化本土化?怎么做( 顺便说一句,我希望它也能说“今天”或“明天”,而不仅仅是转换日期C# 用一种不那么难看的方式来本地化DayOfWeek?,c#,localization,culture,C#,Localization,Culture,有没有什么方法可以让这种文化本土化?怎么做( 顺便说一句,我希望它也能说“今天”或“明天”,而不仅仅是转换日期 using System; namespace Server.Custom.Extensions { public static class FriendlyExtensions { public static string Friendly(this DayOfWeek day) { if (day == Da
using System;
namespace Server.Custom.Extensions
{
public static class FriendlyExtensions
{
public static string Friendly(this DayOfWeek day)
{
if (day == DateTime.Now.DayOfWeek)
return "Hoy";
int dayOfWeek = (int)DateTime.Now.DayOfWeek;
int dayOfEvent = (int)day;
if (dayOfWeek + 1 == dayOfEvent || (dayOfWeek == 6 && dayOfEvent == 0))
return "Mañana";
switch (day)
{
default:
case DayOfWeek.Monday: return "Lunes";
case DayOfWeek.Tuesday: return "Martes";
case DayOfWeek.Wednesday: return "Miercoles";
case DayOfWeek.Thursday: return "Jueves";
case DayOfWeek.Friday: return "Viernes";
case DayOfWeek.Saturday: return "Sabado";
case DayOfWeek.Sunday: return "Domingo";
}
}
}
}
或
参考资料:
- 此代码(见下)可能会让您走上正确的轨道
DateTime.Now.ToString("dddd", new CultureInfo("es-ES"));
CultureInfo德语=新的CultureInfo(“de”);
DateTimeFormatInfo dtfi=德语.DateTimeFormat;
Console.WriteLine(“{0}区域性的每周天数:”,
德语(姓名);
对于(int-ctr=0;ctr
你能找到一个l10n库来做这项工作吗?你得到了很好的答案来获取日期名称。“今天”和“明天”没有内置的翻译。@Nico你为什么接受FerranB的答案?这与问题无关。-1这是如何回答问题的?
DateTime.Now.ToString("dddd", new CultureInfo("es-ES"));
CultureInfo german = new CultureInfo("de-DE");
DateTimeFormatInfo dtfi = german.DateTimeFormat;
Console.WriteLine("Days of the week for the {0} culture:",
german.Name);
for (int ctr = 0; ctr < dtfi.DayNames.Length; ctr++)
Console.WriteLine(" {0,-12}{1}", dtfi.DayNames[ctr],
dtfi.DayNames[ctr] == dtfi.DayNames[(int)dtfi.FirstDayOfWeek] ?
"(First Day of Week)" : "");