thiemowmde lowered the priority of this task from "High" to "Normal".
thiemowmde added a comment.

The answer is simply that Wikibase does not know anything about this short "YYYY-MMZ" ISO format, and does not support it.

I have to ask where an edit containing such a format does come from? Which software is used to make the edit? Where does the provided value come from? I assume it is not entered by a human.

This is what our chain of date parsers currently does:

  • We do have a YearMonthTimeParser. It succeeds in splitting the given string into "1994" and "02Z". It understands the first number is the year. But it can not make sense of the string "02Z". This is neither a number nor a known month name.
  • No other of the parsers we build can make sense of the string.
  • We fall back to PHPs build-in parser, which is where the result you see comes from.

Possible solutions:

  • We can teach the IsoTimestampParser we already have to understand the short "YYYY-MMZ" ISO format with a "Z" in the end.
  • We can add special case handling for the "Z" to the existing YearMonthTimeParser.
  • We can add a separate parser for this format.
  • We can make sure our fallback PhpDateTimeParser does not accept this format.
  • You can convert the format to YYYY-MM-00 before submitting.

TASK DETAIL
https://phabricator.wikimedia.org/T131625

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: thiemowmde
Cc: thiemowmde, Aklapper, Lokal_Profil, Multichill, GoranSMilovanovic, QZanden, Sethakill, dg711, Izno, Wikidata-bugs, aude, jayvdb, Anomie, Mbch331, Legoktm
_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to