Не получается доверять ИИ пока…
<p>Хотел сделать это как пост, но символов не хватило...</p><p>Пишу на <a href="https://habr.com/ru/articles/813015/" rel="noopener nofollow">RPG</a> под IBM i. И вот возникла проблема на вход некоей функции приходит дата в виде строки в формате ISO (YYYY-MM-DD). Ее надо проверить на корректность и перевести в формат CYMD (CYYMMDD где C - век, 0 для 1900Б 1 для 2000 и т.п.) в число zoned(7) (формат с фиксированной точкой, 7 знаков). Да, формат экзотический, но на IBM i используется, поддерживается и достался нам в наследство от разработчиков нашей АБС - компании MySys.</p><p>Проблема в том, что у форматов ISO и CYMD разные допустимые диапазоны дат - 01 JAN 0001 - 31 DEC 9999 для ISO и 01 JAN 1900 - 31 DEC 2899 для CYMD (первый символ - век - может меняться только в диапазоне от 0 для 20-го верка до 9 для 29-го).</p><p>Т.е. даже провалидировал входящую строку на предмет того что там содержится корректная ISO дата, нет уверенность что при конвертации в CYMD не случится исключения по причине того, что эта дата выходит за границы диапазона CYMD.</p><p>Естественно, я знаю как это правильно и эффективно сделать. Но решил проверить ИИшку. Сформулировал задачу, запустил. Получил ответ</p> <a href="https://habr.com/ru/articles/1080968/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1080968#habracut">Читать далее</a>
