Emmerson: You don't say what version of Excel you have. I'm using Excel 360, which gives me several ways to filter a PivotTable on a date range directly.
First, if your date field happens to be in the Rows or Columns area (but not the Filters/Page area as in your particular case) there's the Date Filters option available from the Filter dropdown:

And secondly, in Excel 2013 or later there are timelines:

As Scott rightly says in the comments above, the first option only works directly if the PivotField you want to filter is not a PageField i.e. it is not in the Filters pane of the PivotTable Fields list. Because if it is in the Filters pane, then you don't get any of the filter options shown above, as evidenced in the following screenshot:

But there's an easy workaround: simply drag it out of the PivotTable altogether, because you can actually still filter on a field that isn't in the PivotTable:

Firing up the macro recorder as I set that 'Between' filter resulted in the following code:
ActiveSheet.PivotTables("PivotTable1").PivotFields("Date").PivotFilters.Add2 _
Type:=xlDateBetween, Value1:="23/12/2015", Value2:="31/12/2015"
Here's a generalized version of that, that will filter any date pivotfield to whatever last X you want:
Sub LastXDays(lDays As Long, Optional pf As PivotField)
Dim StartDate As Date
Dim EndDate As Date
EndDate = Date
StartDate = EndDate - lDays + 1
If pf Is Nothing Then
On Error Resume Next
Set pf = ActiveCell.PivotField
If Err.Number <> 0 Then GoTo errhandler
On Error GoTo errhandler
End If
If Not IsDate(pf.PivotItems(1)) Then GoTo errhandler
pf.ClearAllFilters
pf.PivotFilters.Add2 _
Type:=xlDateBetween, _
Value1:=CStr(StartDate), _
Value2:=CStr(EndDate)
errhandler:
End Sub
You would call that routine using something like this:
Sub Last5Days()
LastXDays 5, ActiveSheet.PivotTables("PivotTable1").PivotFields("Date")
End Sub
Post back if that's unclear of if you need more help implementing this.