[{"data":1,"prerenderedAt":1430},["ShallowReactive",2],{"navigation":3,"\u002Fschemas\u002Fdates":335,"\u002Fschemas\u002Fdates-surround":1425},[4,27,73,95,121,135,305,331],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"MSRV","\u002Fgetting-started\u002Fmsrv","1.getting-started\u002F9.msrv",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Schemas","i-lucide-shapes","\u002Fschemas","2.schemas",[33,37,41,45,49,53,57,61,65,69],{"title":34,"path":35,"stem":36},"Strings","\u002Fschemas\u002Fstrings","2.schemas\u002F1.strings",{"title":38,"path":39,"stem":40},"Custom rules","\u002Fschemas\u002Frules","2.schemas\u002F10.rules",{"title":42,"path":43,"stem":44},"Numbers","\u002Fschemas\u002Fnumbers","2.schemas\u002F2.numbers",{"title":46,"path":47,"stem":48},"Booleans, literals and enums","\u002Fschemas\u002Fprimitives","2.schemas\u002F3.primitives",{"title":50,"path":51,"stem":52},"Dates and times","\u002Fschemas\u002Fdates","2.schemas\u002F4.dates",{"title":54,"path":55,"stem":56},"Collections","\u002Fschemas\u002Fcollections","2.schemas\u002F5.collections",{"title":58,"path":59,"stem":60},"Dynamic objects","\u002Fschemas\u002Fobjects","2.schemas\u002F6.objects",{"title":62,"path":63,"stem":64},"Modifiers","\u002Fschemas\u002Fmodifiers","2.schemas\u002F7.modifiers",{"title":66,"path":67,"stem":68},"Combinators","\u002Fschemas\u002Fcombinators","2.schemas\u002F8.combinators",{"title":70,"path":71,"stem":72},"Other types","\u002Fschemas\u002Fspecial-types","2.schemas\u002F9.special-types",{"title":74,"icon":75,"path":76,"stem":77,"children":78,"page":26},"Structs","i-lucide-braces","\u002Fstructs","3.structs",[79,83,87,91],{"title":80,"path":81,"stem":82},"schema! macro","\u002Fstructs\u002Fschema-macro","3.structs\u002F1.schema-macro",{"title":84,"path":85,"stem":86},"#[derive(Validate)]","\u002Fstructs\u002Fderive","3.structs\u002F2.derive",{"title":88,"path":89,"stem":90},"Parse vs validate","\u002Fstructs\u002Fparse-vs-validate","3.structs\u002F3.parse-vs-validate",{"title":92,"path":93,"stem":94},"Lenient parsing","\u002Fstructs\u002Flenient","3.structs\u002F4.lenient",{"title":96,"icon":97,"path":98,"stem":99,"children":100,"page":26},"Errors","i-lucide-triangle-alert","\u002Ferrors","4.errors",[101,105,109,113,117],{"title":102,"path":103,"stem":104},"Error model","\u002Ferrors\u002Foverview","4.errors\u002F1.overview",{"title":106,"path":107,"stem":108},"Issue codes","\u002Ferrors\u002Fissue-codes","4.errors\u002F2.issue-codes",{"title":110,"path":111,"stem":112},"Formatting","\u002Ferrors\u002Fformatting","4.errors\u002F3.formatting",{"title":114,"path":115,"stem":116},"Custom messages","\u002Ferrors\u002Fcustom-messages","4.errors\u002F4.custom-messages",{"title":118,"path":119,"stem":120},"Translations","\u002Ferrors\u002Fi18n","4.errors\u002F5.i18n",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":26},"OpenAPI","i-lucide-file-json","\u002Fopenapi","5.openapi",[127,131],{"title":128,"path":129,"stem":130},"JSON Schema and OpenAPI","\u002Fopenapi\u002Fjson-schema","5.openapi\u002F1.json-schema",{"title":132,"path":133,"stem":134},"Schema diff","\u002Fopenapi\u002Fdiff","5.openapi\u002F2.diff",{"title":136,"icon":137,"path":138,"stem":139,"children":140,"page":26},"Integrations","i-lucide-plug","\u002Fintegrations","6.integrations",[141,191,209,223,245,259,273,291],{"title":142,"icon":143,"path":144,"stem":145,"children":146,"page":26},"Web frameworks","i-lucide-globe","\u002Fintegrations\u002Fweb","6.integrations\u002F1.web",[147,151,155,159,163,167,171,175,179,183,187],{"title":148,"path":149,"stem":150},"Web adapters overview","\u002Fintegrations\u002Fweb\u002Foverview","6.integrations\u002F1.web\u002F01.overview",{"title":152,"path":153,"stem":154},"vld-axum","\u002Fintegrations\u002Fweb\u002Faxum","6.integrations\u002F1.web\u002F02.axum",{"title":156,"path":157,"stem":158},"vld-actix","\u002Fintegrations\u002Fweb\u002Factix","6.integrations\u002F1.web\u002F03.actix",{"title":160,"path":161,"stem":162},"vld-ntex","\u002Fintegrations\u002Fweb\u002Fntex","6.integrations\u002F1.web\u002F04.ntex",{"title":164,"path":165,"stem":166},"vld-poem","\u002Fintegrations\u002Fweb\u002Fpoem","6.integrations\u002F1.web\u002F05.poem",{"title":168,"path":169,"stem":170},"vld-rama","\u002Fintegrations\u002Fweb\u002Frama","6.integrations\u002F1.web\u002F06.rama",{"title":172,"path":173,"stem":174},"vld-rocket","\u002Fintegrations\u002Fweb\u002Frocket","6.integrations\u002F1.web\u002F07.rocket",{"title":176,"path":177,"stem":178},"vld-salvo","\u002Fintegrations\u002Fweb\u002Fsalvo","6.integrations\u002F1.web\u002F08.salvo",{"title":180,"path":181,"stem":182},"vld-tower","\u002Fintegrations\u002Fweb\u002Ftower","6.integrations\u002F1.web\u002F09.tower",{"title":184,"path":185,"stem":186},"vld-warp","\u002Fintegrations\u002Fweb\u002Fwarp","6.integrations\u002F1.web\u002F10.warp",{"title":188,"path":189,"stem":190},"vld-tonic","\u002Fintegrations\u002Fweb\u002Ftonic","6.integrations\u002F1.web\u002F11.tonic",{"title":192,"icon":193,"path":194,"stem":195,"children":196,"page":26},"OpenAPI and JSON Schema","i-lucide-file-code","\u002Fintegrations\u002Fopenapi","6.integrations\u002F2.openapi",[197,201,205],{"title":198,"path":199,"stem":200},"vld-utoipa","\u002Fintegrations\u002Fopenapi\u002Futoipa","6.integrations\u002F2.openapi\u002F1.utoipa",{"title":202,"path":203,"stem":204},"vld-schemars","\u002Fintegrations\u002Fopenapi\u002Fschemars","6.integrations\u002F2.openapi\u002F2.schemars",{"title":206,"path":207,"stem":208},"vld-aide","\u002Fintegrations\u002Fopenapi\u002Faide","6.integrations\u002F2.openapi\u002F3.aide",{"title":210,"icon":211,"path":212,"stem":213,"children":214,"page":26},"Codegen and test data","i-lucide-wand","\u002Fintegrations\u002Fcodegen","6.integrations\u002F3.codegen",[215,219],{"title":216,"path":217,"stem":218},"vld-ts","\u002Fintegrations\u002Fcodegen\u002Fts","6.integrations\u002F3.codegen\u002F1.ts",{"title":220,"path":221,"stem":222},"vld-fake","\u002Fintegrations\u002Fcodegen\u002Ffake","6.integrations\u002F3.codegen\u002F2.fake",{"title":224,"icon":225,"path":226,"stem":227,"children":228,"page":26},"Databases","i-lucide-database","\u002Fintegrations\u002Fdatabase","6.integrations\u002F4.database",[229,233,237,241],{"title":230,"path":231,"stem":232},"vld-sqlx","\u002Fintegrations\u002Fdatabase\u002Fsqlx","6.integrations\u002F4.database\u002F1.sqlx",{"title":234,"path":235,"stem":236},"vld-diesel","\u002Fintegrations\u002Fdatabase\u002Fdiesel","6.integrations\u002F4.database\u002F2.diesel",{"title":238,"path":239,"stem":240},"vld-sea","\u002Fintegrations\u002Fdatabase\u002Fsea-orm","6.integrations\u002F4.database\u002F3.sea-orm",{"title":242,"path":243,"stem":244},"vld-surrealdb","\u002Fintegrations\u002Fdatabase\u002Fsurrealdb","6.integrations\u002F4.database\u002F4.surrealdb",{"title":246,"icon":247,"path":248,"stem":249,"children":250,"page":26},"Messaging","i-lucide-mail","\u002Fintegrations\u002Fmessaging","6.integrations\u002F5.messaging",[251,255],{"title":252,"path":253,"stem":254},"vld-redis","\u002Fintegrations\u002Fmessaging\u002Fredis","6.integrations\u002F5.messaging\u002F1.redis",{"title":256,"path":257,"stem":258},"vld-lapin","\u002Fintegrations\u002Fmessaging\u002Flapin","6.integrations\u002F5.messaging\u002F2.lapin",{"title":260,"icon":261,"path":262,"stem":263,"children":264,"page":26},"Config and CLI","i-lucide-terminal","\u002Fintegrations\u002Fconfig-cli","6.integrations\u002F6.config-cli",[265,269],{"title":266,"path":267,"stem":268},"vld-config","\u002Fintegrations\u002Fconfig-cli\u002Fconfig","6.integrations\u002F6.config-cli\u002F1.config",{"title":270,"path":271,"stem":272},"vld-clap","\u002Fintegrations\u002Fconfig-cli\u002Fclap","6.integrations\u002F6.config-cli\u002F2.clap",{"title":274,"icon":275,"path":276,"stem":277,"children":278,"page":26},"UI frameworks","i-lucide-monitor","\u002Fintegrations\u002Fui","6.integrations\u002F7.ui",[279,283,287],{"title":280,"path":281,"stem":282},"vld-dioxus","\u002Fintegrations\u002Fui\u002Fdioxus","6.integrations\u002F7.ui\u002F1.dioxus",{"title":284,"path":285,"stem":286},"vld-leptos","\u002Fintegrations\u002Fui\u002Fleptos","6.integrations\u002F7.ui\u002F2.leptos",{"title":288,"path":289,"stem":290},"vld-tauri","\u002Fintegrations\u002Fui\u002Ftauri","6.integrations\u002F7.ui\u002F3.tauri",{"title":292,"icon":293,"path":294,"stem":295,"children":296,"page":26},"Shared crates","i-lucide-package","\u002Fintegrations\u002Fshared","6.integrations\u002F8.shared",[297,301],{"title":298,"path":299,"stem":300},"vld-http-common","\u002Fintegrations\u002Fshared\u002Fhttp-common","6.integrations\u002F8.shared\u002F1.http-common",{"title":302,"path":303,"stem":304},"vld-integration-common","\u002Fintegrations\u002Fshared\u002Fintegration-common","6.integrations\u002F8.shared\u002F2.integration-common",{"title":306,"icon":307,"path":308,"stem":309,"children":310,"page":26},"Guides","i-lucide-book-open","\u002Fguides","7.guides",[311,315,319,323,327],{"title":312,"path":313,"stem":314},"Migration","\u002Fguides\u002Fmigration","7.guides\u002F1.migration",{"title":316,"path":317,"stem":318},"Security notes","\u002Fguides\u002Fsecurity","7.guides\u002F2.security",{"title":320,"path":321,"stem":322},"Performance","\u002Fguides\u002Fperformance","7.guides\u002F3.performance",{"title":324,"path":325,"stem":326},"Contributing","\u002Fguides\u002Fcontributing","7.guides\u002F4.contributing",{"title":328,"path":329,"stem":330},"FAQ","\u002Fguides\u002Ffaq","7.guides\u002F5.faq",{"title":332,"path":333,"stem":334},"Changelog","\u002Fchangelog","9.changelog",{"id":336,"title":50,"body":337,"description":1419,"extension":1420,"links":1421,"meta":1422,"navigation":528,"path":51,"seo":1423,"stem":52,"__hash__":1424},"docs\u002F2.schemas\u002F4.dates.md",{"type":338,"value":339,"toc":1411},"minimark",[340,344,463,484,672,677,702,712,717,720,815,821,825,835,893,1064,1068,1178,1211,1323,1327,1353,1357,1407],[341,342,343],"p",{},"Date schemas parse strings into the types of a date library. Each library is an additive feature with its own module:",[345,346,347,377],"table",{},[348,349,350],"thead",{},[351,352,353,357,360,367,372],"tr",{},[354,355,356],"th",{},"Feature",[354,358,359],{},"Module",[354,361,362,366],{},[363,364,365],"code",{},"date()"," output",[354,368,369,366],{},[363,370,371],{},"datetime()",[354,373,374,366],{},[363,375,376],{},"time()",[378,379,380,408,435],"tbody",{},[351,381,382,388,393,398,403],{},[383,384,385],"td",{},[363,386,387],{},"chrono",[383,389,390],{},[363,391,392],{},"vld::chrono",[383,394,395],{},[363,396,397],{},"chrono::NaiveDate",[383,399,400],{},[363,401,402],{},"chrono::DateTime\u003CUtc>",[383,404,405],{},[363,406,407],{},"chrono::NaiveTime",[351,409,410,415,420,425,430],{},[383,411,412],{},[363,413,414],{},"jiff",[383,416,417],{},[363,418,419],{},"vld::jiff",[383,421,422],{},[363,423,424],{},"jiff::civil::Date",[383,426,427],{},[363,428,429],{},"jiff::Timestamp",[383,431,432],{},[363,433,434],{},"jiff::civil::Time",[351,436,437,442,447,452,458],{},[383,438,439],{},[363,440,441],{},"time",[383,443,444],{},[363,445,446],{},"vld::time",[383,448,449],{},[363,450,451],{},"time::Date",[383,453,454,457],{},[363,455,456],{},"time::OffsetDateTime"," (UTC)",[383,459,460],{},[363,461,462],{},"time::Time",[341,464,465,466,468,469,468,471,473,474,468,477,468,480,483],{},"Each module exports ",[363,467,365],{},", ",[363,470,371],{},[363,472,376],{}," and the ",[363,475,476],{},"ZDate",[363,478,479],{},"ZDateTime",[363,481,482],{},"ZTime"," aliases.",[485,486,491],"pre",{"className":487,"code":488,"language":489,"meta":490,"style":490},"language-rust shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F features = [\"chrono\"]\nuse vld::prelude::*;\n\nlet birthday = vld::chrono::date().min(\"1900-01-01\").past();\nlet d = birthday.parse(r#\"\"1990-06-15\"\"#).unwrap();\nassert_eq!(d, chrono::NaiveDate::from_ymd_opt(1990, 6, 15).unwrap());\n","rust","",[363,492,493,502,523,530,583,623],{"__ignoreMap":490},[494,495,498],"span",{"class":496,"line":497},"line",1,[494,499,501],{"class":500},"sHwdD","\u002F\u002F features = [\"chrono\"]\n",[494,503,505,509,513,517,520],{"class":496,"line":504},2,[494,506,508],{"class":507},"sbssI","use",[494,510,512],{"class":511},"sBMFI"," vld",[494,514,516],{"class":515},"sMK4o","::",[494,518,519],{"class":511},"prelude",[494,521,522],{"class":515},"::*;\n",[494,524,526],{"class":496,"line":525},3,[494,527,529],{"emptyLinePlaceholder":528},true,"\n",[494,531,533,537,541,544,546,548,550,552,556,559,562,565,568,572,574,577,580],{"class":496,"line":532},4,[494,534,536],{"class":535},"spNyl","let",[494,538,540],{"class":539},"sTEyZ"," birthday ",[494,542,543],{"class":515},"=",[494,545,512],{"class":511},[494,547,516],{"class":515},[494,549,387],{"class":511},[494,551,516],{"class":515},[494,553,555],{"class":554},"s2Zo4","date",[494,557,558],{"class":515},"().",[494,560,561],{"class":554},"min",[494,563,564],{"class":515},"(",[494,566,567],{"class":515},"\"",[494,569,571],{"class":570},"sfazB","1900-01-01",[494,573,567],{"class":515},[494,575,576],{"class":515},").",[494,578,579],{"class":554},"past",[494,581,582],{"class":515},"();\n",[494,584,586,588,591,593,596,599,602,604,607,610,613,616,618,621],{"class":496,"line":585},5,[494,587,536],{"class":535},[494,589,590],{"class":539}," d ",[494,592,543],{"class":515},[494,594,595],{"class":539}," birthday",[494,597,598],{"class":515},".",[494,600,601],{"class":554},"parse",[494,603,564],{"class":515},[494,605,606],{"class":570},"r",[494,608,609],{"class":515},"#\"",[494,611,612],{"class":570},"\"1990-06-15\"",[494,614,615],{"class":515},"\"#",[494,617,576],{"class":515},[494,619,620],{"class":554},"unwrap",[494,622,582],{"class":515},[494,624,626,629,631,634,637,640,642,645,647,650,652,655,657,660,662,665,667,669],{"class":496,"line":625},6,[494,627,628],{"class":554},"assert_eq!",[494,630,564],{"class":515},[494,632,633],{"class":539},"d",[494,635,636],{"class":515},",",[494,638,639],{"class":511}," chrono",[494,641,516],{"class":515},[494,643,644],{"class":511},"NaiveDate",[494,646,516],{"class":515},[494,648,649],{"class":554},"from_ymd_opt",[494,651,564],{"class":515},[494,653,654],{"class":507},"1990",[494,656,636],{"class":515},[494,658,659],{"class":507}," 6",[494,661,636],{"class":515},[494,663,664],{"class":507}," 15",[494,666,576],{"class":515},[494,668,620],{"class":554},[494,670,671],{"class":515},"());\n",[673,674,676],"h3",{"id":675},"shortcuts-with-one-backend","Shortcuts with one backend",[341,678,679,680,684,685,468,688,468,691,694,695,468,697,468,699,701],{},"When ",[681,682,683],"strong",{},"exactly one"," date feature is enabled, ",[363,686,687],{},"vld::date()",[363,689,690],{},"vld::datetime()",[363,692,693],{},"vld::time_of_day()"," and the prelude types ",[363,696,476],{},[363,698,479],{},[363,700,482],{}," point to it. They disappear as soon as a second backend is enabled, for example by another crate in your dependency tree through feature unification.",[703,704,705],"tip",{},[341,706,707,708,711],{},"Libraries should always call the backend module (",[363,709,710],{},"vld::chrono::date()",") so they keep compiling when an application enables another backend.",[713,714,716],"h2",{"id":715},"grammar","Grammar",[341,718,719],{},"All backends share one strict grammar:",[345,721,722,735],{},[348,723,724],{},[351,725,726,729,732],{},[354,727,728],{},"Schema",[354,730,731],{},"Accepts",[354,733,734],{},"Examples",[378,736,737,754,795],{},[351,738,739,743,749],{},[383,740,741],{},[363,742,365],{},[383,744,745,748],{},[363,746,747],{},"YYYY-MM-DD"," with a real calendar day",[383,750,751],{},[363,752,753],{},"2024-02-29",[351,755,756,760,787],{},[383,757,758],{},[363,759,371],{},[383,761,762,765,766,769,770,773,774,777,778,781,782,777,784],{},[363,763,764],{},"YYYY-MM-DDTHH:MM:SS[.fraction]"," plus ",[363,767,768],{},"Z"," or ",[363,771,772],{},"±HH:MM","; ",[363,775,776],{},"T"," \u002F ",[363,779,780],{},"t"," and ",[363,783,768],{},[363,785,786],{},"z",[383,788,789,468,792],{},[363,790,791],{},"2024-01-15T10:30:00Z",[363,793,794],{},"2024-01-15T10:30:00.123+03:00",[351,796,797,801,807],{},[383,798,799],{},[363,800,376],{},[383,802,803,806],{},[363,804,805],{},"HH:MM:SS[.fraction]",", no offset",[383,808,809,468,812],{},[363,810,811],{},"09:30:00",[363,813,814],{},"23:59:59.5",[341,816,817,818,820],{},"Seconds are required in datetimes and times. The output of ",[363,819,371],{}," is always normalized to UTC.",[713,822,824],{"id":823},"naive-datetimes-and-offsets","Naive datetimes and offsets",[341,826,827,828,830,831,834],{},"By default ",[363,829,371],{}," also accepts naive input without an offset (",[363,832,833],{},"2024-01-15T10:30:00",") and reads it as UTC.",[345,836,837,847],{},[348,838,839],{},[351,840,841,844],{},[354,842,843],{},"Method",[354,845,846],{},"Effect",[378,848,849,862,875],{},[351,850,851,859],{},[383,852,853,777,856],{},[363,854,855],{},"naive_allowed(false)",[363,857,858],{},"with_timezone_only()",[383,860,861],{},"require an offset (RFC 3339)",[351,863,864,869],{},[383,865,866],{},[363,867,868],{},"naive_timezone_offset(secs)",[383,870,871,872],{},"read naive input at this offset instead of UTC; panics if ",[363,873,874],{},"abs(secs) >= 86400",[351,876,877,882],{},[383,878,879],{},[363,880,881],{},"timezone_offset_only(secs)",[383,883,884,885,888,889,892],{},"require an explicit offset equal to ",[363,886,887],{},"secs"," (naive input is rejected too); ",[363,890,891],{},"invalid_timezone_offset"," otherwise",[485,894,896],{"className":487,"code":895,"language":489,"meta":490,"style":490},"\u002F\u002F Moscow clocks: naive input is UTC+3, output is UTC.\nlet local = vld::chrono::datetime().naive_timezone_offset(3 * 3600);\nlet utc = local.parse(r#\"\"2024-01-15T10:30:00\"\"#).unwrap();\nassert_eq!(utc.to_rfc3339(), \"2024-01-15T07:30:00+00:00\");\n\nlet strict = vld::chrono::datetime().with_timezone_only();\nassert!(strict.parse(r#\"\"2024-01-15T10:30:00\"\"#).is_err());\n",[363,897,898,903,942,975,1002,1006,1032],{"__ignoreMap":490},[494,899,900],{"class":496,"line":497},[494,901,902],{"class":500},"\u002F\u002F Moscow clocks: naive input is UTC+3, output is UTC.\n",[494,904,905,907,910,912,914,916,918,920,923,925,928,930,933,936,939],{"class":496,"line":504},[494,906,536],{"class":535},[494,908,909],{"class":539}," local ",[494,911,543],{"class":515},[494,913,512],{"class":511},[494,915,516],{"class":515},[494,917,387],{"class":511},[494,919,516],{"class":515},[494,921,922],{"class":554},"datetime",[494,924,558],{"class":515},[494,926,927],{"class":554},"naive_timezone_offset",[494,929,564],{"class":515},[494,931,932],{"class":507},"3",[494,934,935],{"class":515}," *",[494,937,938],{"class":507}," 3600",[494,940,941],{"class":515},");\n",[494,943,944,946,949,951,954,956,958,960,962,964,967,969,971,973],{"class":496,"line":525},[494,945,536],{"class":535},[494,947,948],{"class":539}," utc ",[494,950,543],{"class":515},[494,952,953],{"class":539}," local",[494,955,598],{"class":515},[494,957,601],{"class":554},[494,959,564],{"class":515},[494,961,606],{"class":570},[494,963,609],{"class":515},[494,965,966],{"class":570},"\"2024-01-15T10:30:00\"",[494,968,615],{"class":515},[494,970,576],{"class":515},[494,972,620],{"class":554},[494,974,582],{"class":515},[494,976,977,979,981,984,986,989,992,995,998,1000],{"class":496,"line":532},[494,978,628],{"class":554},[494,980,564],{"class":515},[494,982,983],{"class":539},"utc",[494,985,598],{"class":515},[494,987,988],{"class":554},"to_rfc3339",[494,990,991],{"class":515},"(),",[494,993,994],{"class":515}," \"",[494,996,997],{"class":570},"2024-01-15T07:30:00+00:00",[494,999,567],{"class":515},[494,1001,941],{"class":515},[494,1003,1004],{"class":496,"line":585},[494,1005,529],{"emptyLinePlaceholder":528},[494,1007,1008,1010,1013,1015,1017,1019,1021,1023,1025,1027,1030],{"class":496,"line":625},[494,1009,536],{"class":535},[494,1011,1012],{"class":539}," strict ",[494,1014,543],{"class":515},[494,1016,512],{"class":511},[494,1018,516],{"class":515},[494,1020,387],{"class":511},[494,1022,516],{"class":515},[494,1024,922],{"class":554},[494,1026,558],{"class":515},[494,1028,1029],{"class":554},"with_timezone_only",[494,1031,582],{"class":515},[494,1033,1035,1038,1040,1043,1045,1047,1049,1051,1053,1055,1057,1059,1062],{"class":496,"line":1034},7,[494,1036,1037],{"class":554},"assert!",[494,1039,564],{"class":515},[494,1041,1042],{"class":539},"strict",[494,1044,598],{"class":515},[494,1046,601],{"class":554},[494,1048,564],{"class":515},[494,1050,606],{"class":570},[494,1052,609],{"class":515},[494,1054,966],{"class":570},[494,1056,615],{"class":515},[494,1058,576],{"class":515},[494,1060,1061],{"class":554},"is_err",[494,1063,671],{"class":515},[713,1065,1067],{"id":1066},"ranges-past-and-future","Ranges, past and future",[345,1069,1070,1088],{},[348,1071,1072],{},[351,1073,1074,1076,1080,1084],{},[354,1075,843],{},[354,1077,1078],{},[363,1079,365],{},[354,1081,1082],{},[363,1083,371],{},[354,1085,1086],{},[363,1087,376],{},[378,1089,1090,1113,1142,1161],{},[351,1091,1092,1100,1105,1108],{},[383,1093,1094,777,1097],{},[363,1095,1096],{},"min(&str)",[363,1098,1099],{},"max(&str)",[383,1101,1102],{},[363,1103,1104],{},"\"YYYY-MM-DD\"",[383,1106,1107],{},"RFC 3339 with offset",[383,1109,1110],{},[363,1111,1112],{},"\"HH:MM:SS\"",[351,1114,1115,1118,1126,1134],{},[383,1116,1117],{},"typed bounds",[383,1119,1120,777,1123],{},[363,1121,1122],{},"min_date",[363,1124,1125],{},"max_date",[383,1127,1128,777,1131],{},[363,1129,1130],{},"min_datetime",[363,1132,1133],{},"max_datetime",[383,1135,1136,777,1139],{},[363,1137,1138],{},"min_time",[363,1140,1141],{},"max_time",[351,1143,1144,1152,1155,1158],{},[383,1145,1146,777,1149],{},[363,1147,1148],{},"past()",[363,1150,1151],{},"future()",[383,1153,1154],{},"before \u002F after today (UTC)",[383,1156,1157],{},"before \u002F after now",[383,1159,1160],{},"—",[351,1162,1163,1171,1174,1176],{},[383,1164,1165,777,1168],{},[363,1166,1167],{},"past_msg(..)",[363,1169,1170],{},"future_msg(..)",[383,1172,1173],{},"with a custom message",[383,1175,1173],{},[383,1177,1160],{},[341,1179,1180,1181,777,1183,1186,1187,1190,1191,777,1194,1197,1198,468,1200,769,1202,1204,1205,777,1208,598],{},"The string forms of ",[363,1182,561],{},[363,1184,1185],{},"max"," ",[681,1188,1189],{},"panic"," on an invalid literal, the same way a bad regex would: they are meant for constants. Out-of-range values report ",[363,1192,1193],{},"too_small",[363,1195,1196],{},"too_big"," with origin ",[363,1199,555],{},[363,1201,922],{},[363,1203,441],{},"; past\u002Ffuture failures report ",[363,1206,1207],{},"not_in_past",[363,1209,1210],{},"not_in_future",[485,1212,1214],{"className":487,"code":1213,"language":489,"meta":490,"style":490},"let opening = vld::chrono::time().min(\"09:00:00\").max(\"18:00:00\");\nassert!(opening.parse(r#\"\"12:15:00\"\"#).is_ok());\nassert!(opening.parse(r#\"\"20:00:00\"\"#).is_err());\n",[363,1215,1216,1263,1294],{"__ignoreMap":490},[494,1217,1218,1220,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241,1243,1246,1248,1250,1252,1254,1256,1259,1261],{"class":496,"line":497},[494,1219,536],{"class":535},[494,1221,1222],{"class":539}," opening ",[494,1224,543],{"class":515},[494,1226,512],{"class":511},[494,1228,516],{"class":515},[494,1230,387],{"class":511},[494,1232,516],{"class":515},[494,1234,441],{"class":554},[494,1236,558],{"class":515},[494,1238,561],{"class":554},[494,1240,564],{"class":515},[494,1242,567],{"class":515},[494,1244,1245],{"class":570},"09:00:00",[494,1247,567],{"class":515},[494,1249,576],{"class":515},[494,1251,1185],{"class":554},[494,1253,564],{"class":515},[494,1255,567],{"class":515},[494,1257,1258],{"class":570},"18:00:00",[494,1260,567],{"class":515},[494,1262,941],{"class":515},[494,1264,1265,1267,1269,1272,1274,1276,1278,1280,1282,1285,1287,1289,1292],{"class":496,"line":504},[494,1266,1037],{"class":554},[494,1268,564],{"class":515},[494,1270,1271],{"class":539},"opening",[494,1273,598],{"class":515},[494,1275,601],{"class":554},[494,1277,564],{"class":515},[494,1279,606],{"class":570},[494,1281,609],{"class":515},[494,1283,1284],{"class":570},"\"12:15:00\"",[494,1286,615],{"class":515},[494,1288,576],{"class":515},[494,1290,1291],{"class":554},"is_ok",[494,1293,671],{"class":515},[494,1295,1296,1298,1300,1302,1304,1306,1308,1310,1312,1315,1317,1319,1321],{"class":496,"line":525},[494,1297,1037],{"class":554},[494,1299,564],{"class":515},[494,1301,1271],{"class":539},[494,1303,598],{"class":515},[494,1305,601],{"class":554},[494,1307,564],{"class":515},[494,1309,606],{"class":570},[494,1311,609],{"class":515},[494,1313,1314],{"class":570},"\"20:00:00\"",[494,1316,615],{"class":515},[494,1318,576],{"class":515},[494,1320,1061],{"class":554},[494,1322,671],{"class":515},[713,1324,1326],{"id":1325},"dates-as-plain-strings","Dates as plain strings",[341,1328,1329,1330,1333,1334,1347,1348,1350,1351,598],{},"If you want to keep the value a ",[363,1331,1332],{},"String"," and only check its shape, use the string formats ",[1335,1336,1338,468,1341,781,1344],"a",{"href":1337},"\u002Fschemas\u002Fstrings#dates-and-times-as-strings",[363,1339,1340],{},"iso_date()",[363,1342,1343],{},"iso_datetime()",[363,1345,1346],{},"iso_time()",". ",[363,1349,1343],{}," uses the same grammar as ",[363,1352,371],{},[713,1354,1356],{"id":1355},"json-schema","JSON Schema",[341,1358,1359,1361,1362,1347,1365,1361,1367,1370,1371,1374,1375,1378,1379,1381,1382,1385,1386,777,1388,1390,1391,777,1394,773,1397,777,1399,1390,1401,777,1404,598],{},[363,1360,365],{}," emits ",[363,1363,1364],{},"{\"type\": \"string\", \"format\": \"date\"}",[363,1366,371],{},[363,1368,1369],{},"format: date-time"," when an offset is required; by default (naive input allowed) it emits an ",[363,1372,1373],{},"anyOf"," of ",[363,1376,1377],{},"date-time"," and a pattern for the naive form. ",[363,1380,376],{}," emits a pattern (",[363,1383,1384],{},"format: time"," would require an offset). ",[363,1387,561],{},[363,1389,1185],{}," become ",[363,1392,1393],{},"formatMinimum",[363,1395,1396],{},"formatMaximum",[363,1398,1148],{},[363,1400,1151],{},[363,1402,1403],{},"x-past",[363,1405,1406],{},"x-future",[1408,1409,1410],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":490,"searchDepth":504,"depth":525,"links":1412},[1413,1414,1415,1416,1417,1418],{"id":675,"depth":525,"text":676},{"id":715,"depth":504,"text":716},{"id":823,"depth":504,"text":824},{"id":1066,"depth":504,"text":1067},{"id":1325,"depth":504,"text":1326},{"id":1355,"depth":504,"text":1356},"Typed dates, datetimes and times of day with chrono, jiff or time; strict grammar, offsets, ranges and past\u002Ffuture checks.","md",null,{},{"title":50,"description":1419},"De2iBrm4AKoqbWf4-XqH17cKQVPuWmHywvrMex-jfgY",[1426,1428],{"title":46,"path":47,"stem":48,"description":1427,"children":-1},"boolean, null, never, any, char, literal, enumeration and enum_of.",{"title":54,"path":55,"stem":56,"description":1429,"children":-1},"Arrays, tuples, sets, maps and records.",1794036358603]