Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用一种不那么难看的方式来本地化DayOfWeek?_C#_Localization_Culture - Fatal编程技术网

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)" : "");