The best time to buy a Christmas tree is in the weeks leading up to Christmas, typically around mid-December. This allows you to select a fresh tree and have it in your home in time for decorating and enjoying during the holiday season. However, if you're looking for a bargain, you may be able to find discounted trees after Christmas, as some retailers may have sales to clear out their inventory.