PHP error when trying to access dates in Sprout Reports
You can't access date this way, you'd need to use the date (docs) or datetime (docs) or even atom (docs) filters.
In the case of your report, since you have multiple conditions, you would need to pass those as an array and use the atom filter.
Try:
{% set purchases = purchases
    .postDate([
        'and', 
        '&gt;=' ~ settings.datetimeStartDate|atom, 
        '&lt;= ' ~ settings.datetimeEndDate|atom
    ]) %}

Alternatively, you can use before() (docs) and after() (docs) and pass date objects directly:
{% set purchases = purchases
    .after(settings.datetimeStartDate)
    .before(settings.datetimeEndDate) %}