You need to shift perspective on what a gift is. It's a token of appreciation, something that says "I like you" or "I know what you're into.” It doesn't have to be determined by a holiday, nor does it have to be extravagant. A random cupcake can be a gift. Or a cool frame for that picture she loves of her and her dog.
Secondly, the right time to give a gift is when you think of a good one. Go with your gut, bro. No woman ever said, “He's just too thoughtful too soon.”
For Valentine's Day, the size of the gift should be directly proportional to the amount of time you've been dating and the depth of your relationship. If it's a young romance, get something small. If you've got some baggage together, go all out. Most importantly, she wants a gift that makes her say, “He totally gets me.” Random jewelry and gift cards are appreciated, but presents that reflect your interest in what matters most to her will always win her heart.