// HACK: We are trying to build year_month and month_day patterns from the full pattern.
                private void ParseFullDateFormat (DateTimeFormatEntry df, string full)
                {
                        
                        string month_day = String.Empty;
                        string year_month = String.Empty;
                        bool in_month_data = false;
                        bool in_year_data = false;
			int day_start = 0, day_end = 0;
                        int month_start = 0, month_end = 0;
                        int year_start = 0, year_end = 0;
			bool inquote = false;
                        
                        for (int i = 0; i < full.Length; i++) {
                                char c = full [i];
				if (!inquote && c == 'M') {
                                        month_day += c;
                                        year_month += c;
                                        in_year_data = true;
                                        in_month_data = true;
					if (month_start == 0)
						month_start = i;
                                        month_end = i;
                                        year_end = year_month.Length;
                                } else if (!inquote && Char.ToLower (c) == 'd') {
                                        month_day += c;
                                        in_month_data = true;
                                        in_year_data = false;
					if (day_start == 0)
						day_start = i;
                                        day_end = i;
                                } else if (!inquote && Char.ToLower (c) == 'y') {
                                        year_month += c;
                                        in_year_data = true;
                                        in_month_data = false;
					if (year_start == 0)
						year_start = i;
                                        year_end = i;
                                } else if (!inquote && control_chars.IndexOf (Char.ToLower (c)) >= 0) {
                                        in_year_data = false;
                                        in_month_data = false;
                                } else if (in_year_data || in_month_data) {
                                        if (in_month_data)
                                                month_day += c;
                                        if (in_year_data)
                                                year_month += c;
                                }

				if (c == '\'') {
					inquote = !inquote;
                                }
                        }

                        if (month_day != String.Empty) {
                                //month_day = month_day.Substring (0, month_end);
                                df.MonthDayPattern = TrimPattern (month_day);
                        }
                        if (year_month != String.Empty) {
                                //year_month = year_month.Substring (0, year_end);
                                df.YearMonthPattern = TrimPattern (year_month);
                        }
                }
Beispiel #2
0
 public CultureInfoEntry()
 {
     DateTimeFormatEntry = new DateTimeFormatEntry();
     NumberFormatEntry   = new NumberFormatEntry();
 }
Beispiel #3
0
		public CultureInfoEntry ()
		{
			DateTimeFormatEntry = new DateTimeFormatEntry ();
			NumberFormatEntry = new NumberFormatEntry ();
		}