If Bernard were told the 19th, he would know that the birthday was May 19.
If Bernard were told the 18th, he would know that the birthday was June 18.
The only way that Albert knows that Bernard doesn't know occurs when Albert was told either July or August (thus eliminating May 19 and June 18).
If now Bernard knows, it couldn't be the 14th because this occurs in both July or August.
July has one date left, the 16th, while August has two dates left, the 15th and 17th.
So, if Bernard now knows, it must be because he was told the 16th.
Birthdate -- July 16.
If Bernard were told the 19th, he would know that the birthday was May 19.
If Bernard were told the 18th, he would know that the birthday was June 18.
The only way that Albert knows that Bernard doesn't know occurs when Albert was told either July or August (thus eliminating May 19 and June 18).
If now Bernard knows, it couldn't be the 14th because this occurs in both July or August.
July has one date left, the 16th, while August has two dates left, the 15th and 17th.
So, if Bernard now knows, it must be because he was told the 16th.
Birthdate -- July 16.