Page MenuHomePhabricator

Wrong date values for day and month precision
Open, HighPublic8 Estimated Story PointsBUG REPORT


API allow to add wrong date values for day and month precision. For example:
+2003-12-00T00:00:00Z with precision = DAY
+2003-00-00T00:00:00Z with precision = MONTH
The values can not be displayed correctly by Wikidata UI.
See P577 value at page as example:

I fixed such wrong values. But its are created again and again by different users.
See the next discussions as examples:

Steps to reproduce

  1. Go to
  2. Set action = wbcreateclaim
  3. entity = Q4115189
  4. snaktype = value
  5. property = P577
  6. value = {"time": "+2003-12-00T00:00:00Z", "precision": 11, "timezone": 0, "before": 0, "after": 0, "calendarmodel": ""}
  7. token -> click autofill
  8. Execute request

Actual behavior
Wrong claim is successfully created.

Expected behavior
The API call should fail with invalid-snak code. The claim should not be created. Behavior should be the same as for other wrong date values, for example for "+2003-99-99T00:00:00Z".

Acceptance criteria:

  • dates with 00 for the month and precision month or day are no longer accepted by the API
  • dates with 00 for the day and precision day are no longer accepted by the API


  • We need to make sure that the Items with wrong values don't become completely uneditable. It should at the very least be possible to remove the statement with the invalid date.
  • Dev team does not clean up existing bad data

Related Objects

Event Timeline

Addshore set the point value for this task to 8.Sep 22 2021, 10:39 AM

Change 726608 had a related patch set uploaded (by Noa wmde; author: Noa wmde):

[mediawiki/extensions/Wikibase@master] WIP: Check that Month and Day are not 0 for respective precision