Le ramadan est le 9ème mois de l'année islamique, il peut être de 29 ou 30 jours (comme tous les deux mois de ce calendrier lunaire). Habituellement, cela est déterminé par l'observation visuelle de la lune le 29 du mois, si la lune a été observée, le mois est de 29 jours, sinon le mois continuera jusqu'à 30 jours. Pour info, c'est pourquoi le croissant est considéré comme le symbole de l'islam.
Donc, il n'y a aucun moyen de savoir à l'avance. Les calculs sont exacts la plupart du temps, mais ils peuvent tout de même mal tourner, surtout si le temps est nuageux et que la lune n'a pas pu être observée alors que les calculs suggèrent que le mois est de 29 jours, alors le mois continuera jusqu'à 30 jours indépendamment des calculs. C'est bien sûr dans la plupart des pays. Certains pays dépendent totalement des calculs, d'autres non.
Encore une chose à noter, les mêmes règles s'appliquent au mois précédant le Ramadan (Sha'aban), ce qui signifie que toute modification de ce mois affectera le Ramadan, entraînant la différence de deux jours par rapport aux dates calculées, comme cela a été suggéré dans votre question. Pendant de nombreuses années, les pays islamiques ont trois Eids (le premier jour après le Ramadan, c'est comme Noël pour les musulmans), l'un terminerait le Ramadan deux jours plus tôt que les autres, tandis que certains le termineraient un jour plus tôt et les autres le termineraient le 30 journées! il y a donc une chance d'assister à trois Eids différents.
Bahreïn, comme la plupart des pays sunnites suivent l'Arabie saoudite, les pays chiites (ou groupes au sein des pays) suivent principalement l'Iran. Certains pays comme l'Indonésie peuvent avoir deux dates différentes! certains arrêteront de jeûner à une date et les autres ajouteront un jour de plus.
Le calendrier islamique officiel en Arabie saoudite s'appelle Ummulqura , qui est également suivi à Bahreïn à cet égard, si vous voulez avoir la meilleure estimation, alors c'est tout, et selon lui, le ramadan se terminera le 16 juillet 2015.