It is warm year-round on St. John. The average max temp. is 84-89°F, with August being the hottest month and Dec-Jan the coldest. The average min temp is 73°F-80°F. You will rarely need anything long, except for supermarkets, where it is freezing or to protect yourself from sunburn or bug bites. The average water temperature is 82°F.
February to May are the driest months, October to January the wettest. It can however heavily rain any day of the year, but usually it is gone as fast as it came. Rain is actually a welcome relief from the heat and also helps to refill the water cisterns.
Check out these great charts with temperature overviews
The most reliable St. John Weather forecast is from Weather Underground which you can also download as and app for your smartphone. You can click on map and you will see if rain is approaching (green blobs) and the size of the green blobs will give you an idea for how long the rain will last.
Hurricane Season St. John
officially runs from June 1 to November 30. August and September are the key months, followed by October (September being worst). The chances of a major storm are small however, the last one was in 2010 and the forecast models have become very accurate. If you go during this time of the year, consider trip insurance and have a look at the tips here.
When to Visit St. John
September is dead low season and many businesses are closed. Other than that, any time is good to visit. The climate is most agreeable in December through February, but these are also the most expensive months (however some good deals can be made in the 2nd half of February).
Personally, I do not like July and August too much, because it does not really cool down at night, but in a villa with A/C that would not be a problem. Good options for visiting are the shoulder months, April and May as well as November (November can be wet however). These months give a good compromise between wetter and prices.
If you are a surfer or like waves, you are more likely to find them from November to April. But tropical storms can generate some random big swells as well.