Извиняюсь, было лень java запускать, вызвал из REPL clojure, используя явовские классы
(def sdf (java.text.SimpleDateFormat. "yyyy-MM")
(.format sdf (java.util.Date.))
;; => "2023-04"
(.parse sdf "2022-01")
;; => #inst "2021-12-31T21:00:00.000-00:00"
Это примерно вот это на яве
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Date dn = new Date();
System.out.println(sdf.format(dn));
Date dp = sdf.parse("2022-01");
System.out.println(dp);
Ну и фильтрануть по по массиву строк с датами
;; собственно сам массив со строками дат
(def dates
(map
(fn [i] (str "2022-" i))
(range 1 10)))
;; dates
;; => ("2022-1"
;; "2022-2"
;; "2022-3"
;; "2022-4"
;; "2022-5"
;; "2022-6"
;; "2022-7"
;; "2022-8"
;; "2022-9")
;; Функция фильтрации, в яве можно использовать Stream API
(defn filter-dates [dates chk]
(filter
(fn [x]
(some (partial = x) chk)) dates)
)
;; фильтруем :)
(filter-dates dates ["2022-1" "2022-9" "2023-1"] )
;; => ("2022-1" "2022-9")