According to the Red Cross: Regulations in the United States allow people to donate whole blood once every 56 days. But this is not really set in stone, they check your blood every time before accepting it. I am borderline anemic and don't always make the cut with them.
If you wish to give an average amount of blood, the Red Cross recommends that you wait about 8 weeks between donations. Some programs allow you to give more or less blood than usual, in which case you should consult with someone in the program beforehand.
In the United States, regulations require that a person must wait at least 56 days after giving blood to give blood again, 112 day for two unites of red blood cells, and only 3 days for platelets through apheresis.