End of Month
(Get-Date $date.Date -day 1).AddMonths(1).AddMilliseconds(-1)
End of Week
$date.Date.AddDays(7-($date).DayOfWeek.value__).AddMilliseconds(-1)
End Of Year
(Get-Date $date.Date -day 1 -Month 1).AddYears(1).AddMilliseconds(-1)