Milkweed is the only thing that the monarch caterpillar can eat. The female seeks out milkweed to lay her eggs. The eggs then hatch and the caterpillars feed on it until they are ready to transform into a chrysalis. It takes 3-6 days for the egg to hatch, 7 to 10 days for the caterpillar to get to full size, and another 7-10 days for it to form into a full grown butterfly inside of the chrysalis.
05/04/2012: I saw my first Monarch of the season on May 3rd and she was laying eggs. Unheard of for them to be in the area this early! I went out on the 4th and there was another one laying eggs but my dog scared her off. I began gathering eggs by digging up some of the tiny milkweed plants and putting them in a pot. I counted 22 eggs on these 6 plants and I have another larger plant that I uprooted with 4 more eggs on it for a total of 26 eggs. I'm not even close to being done gathering this first batch of eggs! These eggs will begin to hatch in 3-6 days. They hatch and then they begin to eat the milkweed leaves that they hatch on. As they grow they eat faster and faster!
05/20/2012: Some of the caterpillars on milkweed leaves.