diff --git a/packages/quicktype-core/src/language/Python/JSONPythonRenderer.ts b/packages/quicktype-core/src/language/Python/JSONPythonRenderer.ts index ce8a3e256f..3cee1b34ef 100644 --- a/packages/quicktype-core/src/language/Python/JSONPythonRenderer.ts +++ b/packages/quicktype-core/src/language/Python/JSONPythonRenderer.ts @@ -515,7 +515,7 @@ export class JSONPythonRenderer extends PythonRenderer { this.emitLine( "assert isinstance(x, str) and ", this.withModuleImport("re"), - '.match(r"^\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?$", x)', + '.match(r"^\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:[Zz]|[+-]\\d{2}:\\d{2})?$", x)', ); this.emitLine("return dateutil.parser.parse(x).timetz()"); }, @@ -536,7 +536,7 @@ export class JSONPythonRenderer extends PythonRenderer { ], () => { this._haveDateutil = true; - this.emitLine("return dateutil.parser.parse(x)"); + this.emitLine("return dateutil.parser.isoparse(x)"); }, ); } diff --git a/test/languages.ts b/test/languages.ts index c827e5ce08..c908fd1d4d 100644 --- a/test/languages.ts +++ b/test/languages.ts @@ -297,6 +297,8 @@ export const PythonLanguage: Language = { "union", "no-defaults", "date-time", + "date", + "time", "integer-string", "bool-string", "uuid",