java.util.SimpleDateFormat or java.time.format.DateTimeFormatter
that do not specify a java.util.Locale.
These calls will use the platform default locale, which depends on the OS settings.
This can lead to surprising behaviour when the code is run on a different platform or the OS settings are changed.
Example:
new SimpleDateFormat("yyyy");
DateTimeFormatter.ofPattern("d/M/y");