diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index ac734f490eb5..6ebe09dd88ba 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -117,6 +117,9 @@ import java.nio.charset.StandardCharsets; import java.text.DateFormat; import java.text.DecimalFormat; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; @@ -235,7 +238,7 @@ public static String localDate(Date date) { } public static String rfc822Date(Calendar cal) { - return Util.RFC822_DATETIME_FORMATTER.format(cal.getTime()); + return DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.ofInstant(cal.toInstant(), ZoneId.systemDefault())); } /** diff --git a/core/src/main/java/hudson/Util.java b/core/src/main/java/hudson/Util.java index 24b04ce3085d..340a71706768 100644 --- a/core/src/main/java/hudson/Util.java +++ b/core/src/main/java/hudson/Util.java @@ -84,6 +84,7 @@ import java.text.ParseException; import java.time.LocalDate; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Collection; @@ -1875,6 +1876,10 @@ public static void printRedirect(String contextPath, String redirectUrl, String public static final FastDateFormat XS_DATETIME_FORMATTER = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss'Z'", new SimpleTimeZone(0, "GMT")); // Note: RFC822 dates must not be localized! + /** + * @deprecated use {@link DateTimeFormatter#RFC_1123_DATE_TIME} + */ + @Deprecated public static final FastDateFormat RFC822_DATETIME_FORMATTER = FastDateFormat.getInstance("EEE, dd MMM yyyy HH:mm:ss Z", Locale.US);