Do not default to 1 for day/month

I finally found the reason why these strange dates are always showing up in bug reports. Both our parsers are totally fine with the day and month set to zero. This is very relevant when the precision is set to "year" or larger. Day, month and time are undefined then. Undefined day and month should be 0, not 1. This is confusing and just not necessary.

[Bug: 71956](https://bugzilla.wikimedia.org/show_bug.cgi?id=71956)
This is executed from right to left, isn't it? Which means `dbmStateBefore` was always true.