Question: how long does it take to get a yellow heart?
Answer: Bear in mind, you have to consistently be best friends for the entire two weeks. If you become Best Friends with someone else (by Snapping them a lot), then they will get a yellow heart, and progress will reset.