Let me guess: answer is July 14.
It's not may or June because there is possibility birthday can be may 19 or June 18, in this case Bernard would know the answer but he doesn't.
Now we have July or August, so we need similar numbers in this couple (Bernard has to choose between two months), and it's 14. Now when Bernard got information that Alberts doesn't know either it's 14 or 16 we came to the answer. It's July 14
Yes now with help I found flaw in my calculations. The answer is Jule 16.
Bernard has to pairs on months with similar numbers:
May July
July August
When Bernard got information from Albert that he 100% should know the answer we take pair with unique number (May July), and it can't be May. So the answer is July 16
At some point there's an option with 15 may or 15 august, but as Bernard final statement "I didn't know but now know", he shoude choose from month with to numbers this month is July.
If Albert knows it's one of the 17th's then it's either June or August. If it were August, then Albert not knowing wouldn't be enough information for Bernard to deduce anything, because it could be any of the August dates.
Albert not knowing only eliminates the 18th and 19th as possible days, since they're the only ones unique to a month.
Eliminating the 19th would still leave two possibilities for May, so Albert knows it's not May.
The fact that Bernard can infer the answer means the date is from the month reduced to one option.
Ok, now my turn.
In the Albert eyes:
May 33% possibility Bernard knows the answers (because of unique 19)
June 50% Bernard knows (because of unique 18)
July 0% (there's no unique numbers)
August 0% (no unique numbers).
If Alberts says: Bernard doesn't know answer (read 0% chance) we need months without unique numbers.
Everything else you can follow in my first comment below