public static DateTime parseRFC2822(CharSequence source) {
		if (source == null) {
			return null;
		}

		// issue#I9C2D4
		if(StrUtil.contains(source, ',')){
			if(StrUtil.contains(source, "星期")){
				return parse(source, FastDateFormat.getInstance(DatePattern.HTTP_DATETIME_PATTERN, Locale.CHINA));
			}
			return parse(source, DatePattern.HTTP_DATETIME_FORMAT_Z);
		}

		if(StrUtil.contains(source, "星期")){
			return parse(source, FastDateFormat.getInstance(DatePattern.JDK_DATETIME_PATTERN, Locale.CHINA));
		}
		return parse(source, DatePattern.JDK_DATETIME_FORMAT);
	}
@Test
	public void parseRFC2822Test() {
		final String dateStr = "Wed Sep 16 11:26:23 CST 2009";

		final SimpleDateFormat sdf = new SimpleDateFormat(DatePattern.JDK_DATETIME_PATTERN, Locale.US);
		// Asia/Shanghai是以地区命名的地区标准时，在中国叫CST，因此如果解析CST时不使用"Asia/Shanghai"而使用"GMT+08:00"，会导致相差一个小时
		sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
		final DateTime parse = DateUtil.parse(dateStr, sdf);

		DateTime dateTime = DateUtil.parseRFC2822(dateStr);
		assertEquals(parse, dateTime);

		dateTime = DateUtil.parse(dateStr);
		assertEquals(parse, dateTime);
	}