2016-07-18 6 views
0

хочет получить DayOfWeek в persianCalnder, но это всегда так же, как Грузии Календаре,персидская недели в C# возвращающийся неправильный номер

DateTime today = DateTime.Today; 
    PersianCalendar pc = new PersianCalendar(); 

var geDayOfWeek= today.DayOfWeek;    
var pcDayOfWeek=pc.GetDayOfWeek(today); 

почему значение geDayOfWeek и pcDayOfWeek всегда одинаковы? Персидская неделя начинается в субботу, а не в понедельник, поэтому, например, воскресенье должно быть 2 не 0.

любое решение, чтобы получить номер дня в персидском календаре?

Мне нужно это, чтобы рассчитать начальную дату и дату окончания недели в Персидском календаре, а не в грузинском календаре.

ответ

0

вы можете написать метод Удлинитель для DateTime, чтобы получить день недели перса

public static class DateTimeHelper 
{ 
    public static PersianDayOfWeek PersionDayOfWeek(this DateTime date) 
    { 
     switch (date.DayOfWeek) 
     { 
      case DayOfWeek.Saturday: 
       return PersianDayOfWeek.Shanbe; 
      case DayOfWeek.Sunday: 
       return PersianDayOfWeek.Yekshanbe; 
      case DayOfWeek.Monday: 
       return PersianDayOfWeek.Doshanbe; 
      case DayOfWeek.Tuesday: 
       return PersianDayOfWeek.Seshanbe; 
      case DayOfWeek.Wednesday: 
       return PersianDayOfWeek.Charshanbe; 
      case DayOfWeek.Thursday: 
       return PersianDayOfWeek.Panjshanbe; 
      case DayOfWeek.Friday: 
       return PersianDayOfWeek.Jome; 
      default: 
       throw new Exception(); 
     } 
    } 
    public enum PersianDayOfWeek 
    { 
     Shanbe=1, 
     Yekshanbe=2, 
     Doshanbe=3, 
     Seshanbe=4, 
     Charshanbe=5, 
     Panjshanbe=6, 
     Jome=7 
    } 
} 

Вы можете использовать его как это:

PersianDayOfWeek DoW = DateTime.Now.PersionDayOfWeek();

Смежные вопросы