The best time to buy a Christmas tree is between mid-November and early December. The closer it is to Christmas, the more expensive the trees will be, as supply will be lower and demand will be higher. If you want to get the best deal, it's best to shop early. However, some people prefer to wait until the last minute to buy a tree, so that it will be fresher and the needles will last longer. It's really a matter of personal preference and how much you're willing to pay for a Christmas tree.