1. What you need: Moon Tear (trade for title deed for flower), and Deku Scrub mask.
On the ledge in front of the clock tower there's a heart. Just launch up using the yellow Deku flower nearby.
2. What you need: nothing
In North Clock Town atop a tree next to the slide. Just jump from platform to platform until you reach the heart.
3. What you need: Bunny Hood (optional)
Go to the post office in West Clock Town on the second day at 3:00 pm. Play the mailman's game to get the heart. (If you play with the bunny hood on, you'll be able to see the clock count up to 10 sec).
4. What you need: Postman's Hat
Check one of the mailbox's while wearing the Postman's Hat to find a piece of heart. (I usually find it in the box at East Clock Town).
5. What you need: Kamaro's Mask
After getting Kamaro's Mask, go to West Clock Town at night on the first or second day and find the two dancing sisters. Teach them Kamaro's Dance and they'll give you a piece of heart (along with calling you master :) ).
6. What you need: 10 rupees
Go to the training center in West Clock Town (right next to the Post Office) and play the expert training game. Use your Z-Targeting and jump-slash all of the logs to get a piece of heart (your score must be 30).
7. What you need: Land Title Deed
Go to the Stock Pot Inn at 12:00 Midnight. Go to the bathroom upstairs and talk to the hand coming out of the toilet. Give him the Land Title Deed and he'll give you a piece of heart from the toilet (ick!).
8. What you need: Hero's Bow, 40 rupees
Go to the shooting gallery in East Clock Town and play. The first time you win you'll get the Big Quiver. Play and win again with a perfect score of 50 to receive a piece of heart.
9. What you need: Bombchu, Bombs, Hero's Bow, 10 rupees
On the first day, go to Honey & Darling's game room. Win the Bombchu game the first day to win 50 rupees. Play the Bomb game on the second day to win another 50 rupees. Play the target practice game on the third day to win a piece of heart. You must win 3 days in a row to get the heart.
10. What you need: Deku Scrub Mask, 10 rupees
Go to the Deku Scrub Playground in North Clock Town (right near the Great Fairy Fountain) on the first, second, and third day and play the game. Just like in the previous heart container, you must win the game three days in a row to get the piece of heart.
11. What you need: 1 Magic Bean, 1 Bottle of water, 100 rupees
Go to the observatory and use the telescope and look just left of the clock tower. You'll notice a Deku Scrub flying around. Keep an eye on him until he drops down into a hole right in front of the observatory. Plant your magic bean just outside the observatory to fly over the fence. Jump in the hole the Deku Scrub dropped into. He'll offer to sell you a piece of heart for 150 rupees. Don't take that offer and he'll lower it to 100 rupees :)
12. What you need: Goron Mask, 30 rupees
Go to the Treasure Chest game in East Clock Town and play with the Goron Mask on. Make your way through the maze and open the chest for a piece of heart.
13. What you need: Keaton Mask and a good knowledge of the game!
Put the Keaton Mask on and pick up one of the bushes that come alive at North Clock Town and throw it back down. After all the bushes disappear, a Keaton Fox will pop up and give you a 5 question quiz. Answer all the questions right and win a piece of heart!
14. What you need: Couple's Mask
Go to the Mayor's office and talk to the Mayor with the Couple's Mask on. He'll give you a piece of heart.
15 & 16. What you need: All-Night Mask
On the first day between 6:00-8:00 AM, go to the Stock Pott Inn at East Clock Town and go to the first room on the right downstairs. Put on the All -Night Mask and listen to Grandma's "Carnival of Time" story. When it's done, answer "On the Eve of the Festival" to get a piece of heart. After this, listen to her "Four Giants" story. When it's done, answer "I dunno" to get another piece of heart.
17. What you need: Giant's Wallet (optional)
Deposit 5000 rupees at the bank to get a piece of heart.