Como gerar relatórios por data Ireport

Como posso fazer relatórios por data no ireport, seu que devo pegar dois parâmetros, data início e fim, mas não sei fazer no java.

public void imprimirPorData() {

        JasperPrint jasperPrint = null;

        int confirma = JOptionPane.showConfirmDialog(null, "Relatório Por Data?", "Atenção", JOptionPane.YES_NO_OPTION);

        if (confirma == JOptionPane.YES_OPTION) {

            HashMap filtro = new HashMap();
             

         
            try {
  
                filtro.put("DataInicio", new java.util.Date());
                filtro.put("DataFim", new java.util.Date());
        
         
                jasperPrint = JasperFillManager.fillReport(getClass().getResourceAsStream("/reports/RetatioData.jasper"), filtro, conexao);

                // linha exibe relatorio 
                JasperViewer jasp = new JasperViewer(jasperPrint, false);
                jasp.setVisible(true);

            } catch (JRException ex) {
                Logger.getLogger(OpcaoRelatorios.class.getName()).log(Level.SEVERE, null, ex);
            }
        }