ReplaceTimeZone() private static method

private static ReplaceTimeZone ( string input ) : string
input string
return string
Esempio n. 1
0
		//End of address parsing.
		//Date parsing conformant to RFC2822 and accepting RFC822 dates.
		public static System.DateTime ParseAsUniversalDateTime(string input)
		{
			input = Parser.ReplaceTimeZone(input);
			input = Parser.Clean(input);
			input = System.Text.RegularExpressions.Regex.Replace(input,@" +"," ");
			input = System.Text.RegularExpressions.Regex.Replace(input,@"( +: +)|(: +)|( +:)",":");
			if(input.IndexOf(",")!=-1) 
			{
				input = input.Replace(input.Split(',')[0]+", ","");
			}
			string[] parts = input.Split(' ');
			int year = System.Convert.ToInt32(parts[2]);
			if(year<100)
			{
				if(year>49) year += 1900;
				else year += 2000;
			}
			int month = Parser.GetMonth(parts[1]);
			int day = System.Convert.ToInt32(parts[0]);
			string[] dateParts = parts[3].Split(':');
			int hour = System.Convert.ToInt32(dateParts[0]);
			int minute = System.Convert.ToInt32(dateParts[1]);
			int second = 0;
			if(dateParts.Length>2) second = System.Convert.ToInt32(dateParts[2]);
			int offset_hours = System.Convert.ToInt32(parts[4].Substring(0,3));
			int offset_minutes = System.Convert.ToInt32(parts[4].Substring(3,2));
			System.DateTime date = new System.DateTime(year,month,day,hour,minute,second);
			date = date.AddHours(-offset_hours);
			date = date.AddMinutes(-offset_minutes);
			return date;
		}