• 2000-02-02
  • 2000-02-20
  • 2000-02-22
  • 2002-02-02
  • 2002-02-20
  • 2002-02-22
  • 2020-02-02
  • 2020-02-20
  • 2020-02-22
  • 2022-02-02
  • 2022-02-20
  • 2022-02-22
  • 2111-11-11
  • 2111-11-12
  • 2111-11-21
  • 2111-11-22
  • 2111-12-11
  • 2111-12-12
  • 2111-12-21
  • 2111-12-22
  • 2112-11-11
  • 2112-11-12
  • 2112-11-21
  • 2112-11-22
  • 2112-12-11
  • 2112-12-12
  • 2112-12-21
  • 2112-12-22
  • 2121-11-11
  • 2121-11-12
  • 2121-11-21
  • 2121-11-22
  • 2121-12-11
  • 2121-12-12
  • 2121-12-21
  • 2121-12-22
  • 2122-11-11
  • 2122-11-12
  • 2122-11-21
  • 2122-11-22
  • 2122-12-11
  • 2122-12-12
  • 2122-12-21
  • 2122-12-22
  • 2200-02-02
  • 2200-02-20
  • 2200-02-22
  • 2202-02-02
  • 2202-02-20
  • 2202-02-22
  • 2211-11-11
  • 2211-11-12
  • 2211-11-21
  • 2211-11-22
  • 2211-12-11
  • 2211-12-12
  • 2211-12-21
  • 2211-12-22
  • 2212-11-11
  • 2212-11-12
  • 2212-11-21
  • 2212-11-22
  • 2212-12-11
  • 2212-12-12
  • 2212-12-21
  • 2212-12-22
  • 2220-02-02
  • 2220-02-20
  • 2220-02-22
  • 2221-11-11
  • 2221-11-12
  • 2221-11-21
  • 2221-11-22
  • 2221-12-11
  • 2221-12-12
  • 2221-12-21
  • 2221-12-22
  • 2222-02-02
  • 2222-02-20
  • 2222-02-22
  • 2222-11-11
  • 2222-11-12
  • 2222-11-21
  • 2222-11-22
  • 2222-12-11
  • 2222-12-12
  • 2222-12-21
  • 2222-12-22
  • 3000-03-03
  • 3000-03-30
  • 3003-03-03
  • 3003-03-30
  • 3030-03-03
  • 3030-03-30
  • 3033-03-03
  • 3033-03-30

Pour ceux qui voudrait regarder pour les dates de leur choix voici le programme écrit en Ruby :

#! /usr/bin/env ruby

require "date"

debut = ARGF.argv[0]
fin = ARGF.argv[1]
limite = ARGF.argv[2]

debut = (debut == nil) ? Date.today : Date.parse(debut)
fin = (fin == nil) ? Date.parse(debut.to_s).next_year : Date.parse(fin)
limite = (limite == nil) ? 4 : limite.to_i

puts "# Dates ayant au plus "+limite.to_s+" chiffres différents entre "+debut.to_s+" et "+fin.to_s
puts "# Date    \tNb.\tChiffres utilisés"
(debut..fin).each { |date|
	chiffres_utilises = date.to_s.gsub("-", "").each_char.to_a.uniq
	if chiffres_utilises.count <= limite
		puts date.to_s+"\t"+chiffres_utilises.count.to_s+"\t"+chiffres_utilises.join(',')
	end
}

Par défaut il calcule toutes les dates dont le nombre de chiffres différents est inférieur ou égal à 4 ce qui est assez courant en commençant par la date actuelle et pour un an.

Pour changer ce comportement vous pouvez ajouter appeler ce programme avec des arguments :

  • Premier argument la date de début, format année sur 4 chiffres, mois sur 2 chiffres, jour sur 2 chiffres séparés par des tirets (ex : "2022-02-12")
  • Second argument la date de fin, même format que le début.
  • Nombre de chiffres identiques maximum.

Le script utilise la librairie fournie par ruby qui l'air de rien gère les années négatives et supérieures à 9999. Il considère par contre que l'année 0 existe.