I've heard of people marrying within a month of meeting and even know of a guy who proposed after 3 years of dating, before he ever said "I love you" to his fiancee. Therefore, I tune out all the conflicting advice about when to say "I love you." These adages sound like a game of craps: wait 2 months! No, wait 6! Caution shouldn't be about calendar days, but about maintaining the value of the precious verb "to love."
When it might not be too soon to say "I Love You"
When you know that you would still love this person even if sex was suddenly out of the picture, and
When others who are supposed to be attractive bore you, you might be in love instead of lust.
When you've learned your partner's biggest faults and do not attempt to change them, you're ready to love the real human being and not an idealized caricature on a pedestal.
When you've disagreed and realized you would rather be fighting with this person than not-fighting with someone else.
When you've both been saying "I love you" to each other in wordless gestures anyway, and
I think the most important of all: wait until you're ready to say the three words without expecting to hear it back, because love is not selfish or vain - or a guilt trap.
Incidentally, I'm formulating a theory that once you start farting shamelessly around each other, it's time to discuss a lifelong commitment. Thoughts?