If your guy is stressed out over work or school, dealing with family issues, or preoccupied with a personal crisis, he probably won't be all that receptive to a big new development in your relationship. There is no "perfect moment," so don't wait for one. A low-key, quiet moment without stress is always a good opportunity. There are, however, bad times to talk about love:  After sex. While intoxicated. Over text or the phone. During or after a fight or argument. Is there a special place that brings up strong memories for the both of you? You may want to tell him at the place where you had your first date, or where you went out to dinner for your two-month or six-month anniversary. That said, all that really matters is that you have a place to talk without being interrupted constantly.  Ask him to go for a walk with you, help with a basic chore, or simply "come over to talk with me for a few minutes." You don't have to plan to be at a cheesy "rom-com" setting like an ocean cliff, but it shouldn't be in a dirty alleyway either. Don't try a big gesture or romantic setting -- this isn't the time and chances are good it will backfire. What matters are you and your feelings. So don't overthink things. Speak from the heart and have an open conversation, not some big production. Just start talking honestly about your relationship -- how happy he makes you, good memories you've shared, your own feelings -- to bring up the topic of love organically. Eventually, the only thing left to do is just come out and say it. So close your eyes, count to three, and let it out. Say it any way you feel comfortable, since the words themselves are what really matter. Make eye contact, smile bravely, and be the astounding, honest, and loving person you already are. Remember-- simpler is sweeter. If you're shy and unsure what to do, try out these methods:  "I'm in love with you." "Joe, I want you to know that these past eight months have been some of the happiest of my life. I feel like we've connected on a deep level and every day we spend together is better than the last. I love you." "I've had something on my chest for a while, and it feels good to let it out. I love you." Lean in, and kiss him on the cheek, then whisper in his ear quickly, "I love you." If you can't meet in person, but still need to get your feelings off of your chest, there is nothing decreeing that you can't say "I love you" anyway. The reason face-to-face is nicer is that it is much more personal -- but you can make long-distance conversations personal. Instead of a text message, or signing off with an ambiguous "I love you," take the time to write a letter or email that has the only purpose of expressing your love. It doesn't have to be long, just from the heart.  Let them know that you'd rather talk to them in person, but couldn't keep your feelings secret any longer. Elaborate a bit on a story, event, or emotion that lead you to your feelings of love. Let him know that you don't need an immediate response; you just wanted to let him know how you felt.
Wait for a time when he feels happy and secure. Find a quiet, private location to talk. Keep it simple and from the heart. Close your eyes, take a deep breath, and say "I love you". Tell him how your feel over distance with a thoughtful letter or phone call.