fork download
  1. import java.time.LocalDate;
  2. import java.time.ZoneId;
  3. import java.time.format.DateTimeFormatter;
  4. import java.time.format.DateTimeFormatterBuilder;
  5. import java.time.temporal.ChronoField;
  6. import java.util.HashMap;
  7. import java.util.Locale;
  8. import java.util.Map;
  9.  
  10. public class Main {
  11. public static void main(String[] args) {
  12. LocalDate date = LocalDate.now(ZoneId.of("Asia/Kolkata"));
  13. DateTimeFormatter dtf = new DateTimeFormatterBuilder()
  14. .appendText(ChronoField.DAY_OF_MONTH, ordinalMap())
  15. .appendPattern(" MMM. uuuu")
  16. .toFormatter(Locale.ENGLISH);
  17. String output = date.format(dtf);
  18. System.out.println(output);
  19. }
  20.  
  21. static Map<Long, String> ordinalMap() {
  22. String[] suffix = { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
  23. Map<Long, String> map = new HashMap<>();
  24.  
  25. for (int i = 1; i <= 31; i++)
  26. map.put((long) i, String.valueOf(i) + suffix[(i > 3 && i < 21) ? 0 : (i % 10)]);
  27.  
  28. return map;
  29. }
  30. }
Success #stdin #stdout 0.2s 54796KB
stdin
Standard input is empty
stdout
2nd Oct. 2021