Juhannusta vietettiin alun perin vuoden valoisimpana päivänä eli kesäpäivänseisauksen aikaan, josta katolinen kirkko siirsi juhlan vieton kesäkuun 24. päivään eli vietettäväksi puolta vuotta ennen joulua. Se, että juhannuspäivän perinteinen paikka on 24. eikä 25. kesäkuuta vaikka joulupäivä on 25. eikä 24. joulukuuta, johtuu roomalaisten päivänumerointitavasta, joka poikkesi nykyisestä. Loppukuun päivät numeroitiin lopusta alkuun päin, ja koska kesäkuussa on 30 mutta joulukuussa 31 päivää, sai päivämäärä, joka nykyisin merkitään 24. kesäkuuta saman järjestysnumeron kuin päivä, joka nykyisin merkitään 25. joulukuuta. Osassa maailman maista se on tällä paikalla vieläkin, esim. Virossa ja Norjassa. Nykyisin juhannusta juhlitaan Suomessa ja Ruotsissa kesäkuun 20. ja 26. päivien välisenä lauantaina. Suomessa näin on ollut vuodesta 1955 lähtien. Vapaapäivien määrää se ei pienentänyt, sillä tuolloin lauantait olivat yleensä vielä työpäiviä. Vuonna 2015 juhannusta vietetään 20. kesäkuuta.