private Date getCreateDate(int i) throws ParseException {
    int month = (i % 12) + 1;
    String format = "MMddyyyyHHmmss";
    String dateString;
    if (month < 10) {
      dateString = "0" + month + "202012100559";
    } else {
      dateString = month + "202012100559";
    }

    SimpleDateFormat sdf = new SimpleDateFormat(format);
    return sdf.parse(dateString);
  }
Each month will have exactly 20 entries with a matching date Code borrowed from shobhit's test
geode-core/src/integrationTest/java/org/apache/geode/cache/query/functional/SelectToDateJUnitTest.java