It's hard to answer because it depends on what your users expect and this may vary from system to system (depending on its specific nature) and from user to user.
Is it possible to say what timespan user would be interested most commonly? Maybe last month or so?
If the answer is "yes": You should display report for predefined timespan but allow him/her to modify it. Optionally, you can give him/her some predefined options to choose, like "last week" and "last month".
If the answer is "no": You should present the datepickers as the initial step.
If it depends on the user: Use any of the above, but let users modify it in settings. Optionally, you can let your users create templates and even present him/her some predefined ones (last week, last month...).
If you don't know it: This is tricky - as it mostly depends on the system/user, try to present any of the above but also test it (via A/B tests or a poll) until you know what users prefer. If there is a strong preference (like 80-20) of one over another - implement this option. If the difference between what users choose is slight, it should be based on a per-user setting.
Remember that if you decide to display a report without the additional screen, you can place the datepickers on some overlay to not make users reload a page to access them.