From f8a6ee542d76cba7d5ac3e2672d2a895212d72c7 Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Sat, 30 Mar 2024 06:23:47 -0700 Subject: [PATCH] Deprecate `Util#RFC822_DATETIME_FORMATTER` (#9085) --- core/src/main/java/hudson/Functions.java | 5 ++++- core/src/main/java/hudson/Util.java | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index ac734f490e..6ebe09dd88 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -117,6 +117,9 @@ import java.net.URLEncoder; 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 class Functions { } 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 24b04ce308..340a717067 100644 --- a/core/src/main/java/hudson/Util.java +++ b/core/src/main/java/hudson/Util.java @@ -84,6 +84,7 @@ import java.text.NumberFormat; 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 class Util { 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);