한 가지 방법은 폼에 기대하고 폼에서 문자열을 번역하는 일반 문자열 조작 기술을 사용하는 것입니다 SimpleDateFormat
을 이해합니다. GMT를 지원하는 것
private static Date parse(String dateString) throws ParseException
{
final SimpleDateFormat dateFormat =
new SimpleDateFormat("E, dd MMM yyyy kk:mm:ss Z");
dateString = dateString.replaceAll("(GMT[+-])(\\d)$", "$1\\0$2");
dateString = dateString.replaceAll("(GMT[+-]\\d\\d)$", "$1:00");
return dateFormat.parse(dateString);
}
플러스 또는 마이너스 한 또는-두 자리 시간 오프셋 : 당신은 시간대 형식의 어떤 범위는 허용하지만, 하나의 가능성 같은 것을 정확히 말했다하지 않은 또한
SimpleDateFormat
으로 이미 지원되는 항목 (예 :
EST
또는
GMT+1030
)을 계속 지원할 수 있습니다.
양자 택일로, 당신은 항상 다음 방금 포맷터 시간대를 설정하고, 문자열의 시간대 무시할 수, GMT 될 것입니다 알고있는 경우 :
private static Date parse(String dateString) throws ParseException
{
final SimpleDateFormat dateFormat =
new SimpleDateFormat("E, dd MMM yyyy kk:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
return dateFormat.parse(dateString);
}
당신은 또한 분할 할 수 있습니다 차. 문자열의 표준 시간대 형식이 TimeZone.getTimeZone()
과 일치하는지 확인합니다. 그게 의도적 인거야? 그렇다면, 당신은 사전에 dateFormat.setTimeZone
에 전달, 문자열에서 그 시간대 형식을 잡아하고 실제 구문 분석하는 동안 무시할 수 :
private static Date parse(final String dateString) throws ParseException
{
final SimpleDateFormat dateFormat =
new SimpleDateFormat("E, dd MMM yyyy kk:mm:ss");
if(dateString.indexOf("GMT") > 0)
dateFormat.setTimeZone
(
TimeZone.getTimeZone
(dateString.substring(dateString.indexOf("GMT")))
);
return dateFormat.parse(dateString);
}
http://home.tiscali.nl/bmc88/java/ sbook/035.html 여기에서 사용자 정의 날짜 형식을 만듭니다. –