Окно даты - Date windowing

Окно даты - это метод, с помощью которого даты с двузначным годом преобразуются в даты с четырехзначным годом и обратно.[1] Год, в который век изменения называется базовый год окна даты.[2] Окно даты было одним из нескольких методов, используемых для устранения проблема 2000 года в устаревшие компьютерные системы.[3]

Рассуждение

Для организаций и учреждений с данными, которым всего несколько десятков лет, решение «окна даты» считалось более простым и экономичным, чем массовые преобразования и тестирование, необходимые для преобразования двузначных лет в четырехзначные.[4][3]

Методы окон

Для определения окна даты используются три основных метода:

  • Фиксированный сводный год: проще всего кодировать, работает для большинства рабочих дат.
  • Год скользящей оси: определяется путем вычитания некоторой константы из текущего года, обычно используется для дат рождения.
  • Ближайшая дата: три разных интерпретации (прошлый век, этот век и следующий век) сравниваются с текущей датой, и из трех выбирается ближайшая дата.

ФОКУС

Информационные Строители с ФОКУС Реализация "Century Aware"[5] позволяет пользователю сосредоточиться на настройках для конкретных полей и файлов.

Эта гибкость дает лучшее из всех трех основных механизмов: школа могла бы иметь файл RecentDonors, устанавливающий поле с именем BirthDate для использования

DEFCENT = 19 YRTHRESH = 31, включая тех, кто родился в 1931-2030 годах.

Те, кто родился в 2031 году, вряд ли будут делать пожертвования до 2049 года, к тому времени родившимся в 1931 году будет 118 лет, и маловероятно, что нынешние доноры. DEFCENT и YRTHRESH для файла, содержащего нынешних студентов и недавних выпускников, будут использовать другие значения.

Примеры

Unix и Windows системы имеют переменные среды которые устанавливают для системы фиксированный год разворота. Любой год после поворота года будет принадлежать этого века (21 век), и любой год до или равняться поворотном году будет принадлежать прошлого века (20-й век).[6]

В некоторых продуктах, таких как Microsoft Excel 95, использовалось окно 1920–2019 годов, что могло привести к возникновению ошибки оконного режима, повторяющейся только через 20 лет после устранения проблемы 2000 года.[7]

Ниже приведен простой пример кода COBOL с окнами фиксированной даты, который часто используется для определения века для обычных деловых дат.

ЕСЛИ ПОЛУЧЕНИЕ-ДАТА-ГОД >= 60ДВИГАТЬСЯ 19 К ПОЛУЧЕНИЕ-ДАТА-ВЕКЕЩЕ ДВИГАТЬСЯ 20 К ПОЛУЧЕНИЕ-ДАТА-ВЕККОНЕЦ-ЕСЛИ.

Приведенный выше код «fixed-60» устанавливает фиксированное окно дат с 1960 по 2060 год. Он предполагает, что ни одна из дат не раньше 1960 года, и должен работать до 2060 года.[3]

Смотрите также

Рекомендации

  1. ^ Бридис, Тед (16 марта 1999 г.). «Временное решение проблемы 2000 года может длиться только поколение». Онлайн Афины. Архивировано из оригинал (HTML) 4 марта 2016 г.. Получено 13 февраля 2020. Используя управление окнами, программисты инструктируют программное обеспечение угадывать век для дат, которые попадают в определенное «окно» времени, например, следующие три десятилетия. Компьютер интерпретирует год на основе будущей так называемой даты поворота, или точки поворота, которую программисты выбирают произвольно.
  2. ^ Хилтон, Гилберт (12 июля 2014 г.). «Лучшее из свиданий, худшее из свиданий». Архивировано из оригинал (HTML) 13 февраля 2020 г.. Получено 13 февраля 2020. Опорный год, также известный как окно даты, берет год из двух цифр и расширяет его, чтобы определить, в каком веке находится год. Обычно год преобразуется либо в полный год из четырех цифр, либо в формат года-1900, как соответствующий приложению.
  3. ^ а б c Ховард, Раймонд Б. «Дело в пользу окон: методы, купившие 60 лет». Год / 2000 Журнал (Март / апрель 1998 г.). Использование окон - это долгосрочное решение, которое должно поддерживать нормальную работу устаревших систем до тех пор, пока программное обеспечение не будет переработано и / или переформатировано.
  4. ^ Макниш, Ларри (30 декабря 2019 г.). «Проблема поворотного года в 2000 году». Архивировано из оригинал 15 января 2020 г.. Получено 13 февраля 2020. Выбор фактического года разворота был сделан компаниями на основе их исторических данных. Это никоим образом не было отраслевым стандартом, и этот подход не был рекомендован профессионалами. Но какое-то время это сработает.
  5. ^ Крускопфс, Питер. «Решение дилеммы свидания». Строители информации. п. 4. Архивировано из оригинал 27 декабря 1996 г.. Получено 2 марта 2020. расширенная версия техники скользящих окон .. Настройки на уровне файлов и полей
  6. ^ «Глава 1: Базовый год». APPX Software, Inc. 2003. Архивировано с оригинал (HTML) 22 сентября 2012 г.. Получено 13 февраля 2020. Определяя опорный год, вы указываете APPX определять, к какому столетию принадлежит конкретный год. Например, если для года поворота задано значение 35, то любое поле даты с годом больше 35 будет считаться APPX имеющим значение века 19. Любое поле даты с годом, меньшим или равным году поворота, будет Предполагается, что APPX имеет значение столетия 20.
  7. ^ Ливингстон, Брайан (9 февраля 1999 г.). «ВЫЧИСЛЕНИЯ Найдите и исправьте проблемы 2000 года в Windows 9x и NT». CNN. Архивировано из оригинал (HTML) 17 мая 2001 г.. Получено 13 февраля 2020. Другое распространенное поведение, с которым сталкиваются пользователи Windows, связано с датами в программах для работы с электронными таблицами, таких как Microsoft Excel, Lotus 1-2-3 и Corel Quattro Pro. Если вы ввели все даты с четырехзначным числом лет (например, 01.01.1999 и 01.01.2000), все должно быть в порядке. Но если вы ввели двузначное число лет (например, 1/1/29), вы можете быть удивлены тем, как разные программы обрабатывают дату.