Изучение JavaScript: отсчет столетий от года

В мире программирования JavaScript – это универсальный язык, позволяющий разработчикам создавать динамические веб-приложения. Одна из распространенных задач — вычислить столетие по заданному году. В этой статье блога мы рассмотрим различные методы достижения этой цели, используя разговорный язык, и попутно предоставим примеры кода. Итак, давайте углубимся и изучим различные способы отсчета веков от года в JavaScript!

Метод 1: простое деление и Math.ceil()
Самый простой подход — разделить данный год на 100 и округлить результат с помощью функции Math.ceil(). Этот метод предполагает, что 1-й век начинается с 1-го года и заканчивается в 100-м году.

function getCentury(year) {
  return Math.ceil(year / 100);
}
const year = 2024;
const century = getCentury(year);
console.log(`The year ${year} belongs to the ${century} century.`);

Метод 2: использование Math.floor() и условных операторов.
Другой подход — использовать Math.floor() для округления результата, а затем применить условные операторы для определения столетия.

function getCentury(year) {
  const century = Math.floor(year / 100) + 1;
  let suffix;
  if (century === 11 || century === 12 || century === 13) {
    suffix = "th";
  } else if (century % 10 === 1) {
    suffix = "st";
  } else if (century % 10 === 2) {
    suffix = "nd";
  } else if (century % 10 === 3) {
    suffix = "rd";
  } else {
    suffix = "th";
  }
  return `${century}${suffix} century`;
}
const year = 2024;
const century = getCentury(year);
console.log(`The year ${year} belongs to the ${century}.`);

Метод 3: использование объекта Date
Встроенный объект Date в JavaScript предоставляет удобный метод расчета столетия. Мы можем создать новый объект Date с заданным годом и извлечь столетие с помощью функций getFullYear() и Math.ceil().

function getCentury(year) {
  const date = new Date(year, 0, 1);
  const century = Math.ceil(date.getFullYear() / 100);
  return `${century}${getCenturySuffix(century)} century`;
}
function getCenturySuffix(century) {
  if (century === 11 || century === 12 || century === 13) {
    return "th";
  }
  const lastDigit = century % 10;
  if (lastDigit === 1) {
    return "st";
  } else if (lastDigit === 2) {
    return "nd";
  } else if (lastDigit === 3) {
    return "rd";
  } else {
    return "th";
  }
}
const year = 2024;
const century = getCentury(year);
console.log(`The year ${year} belongs to the ${century}.`);

Вычислить столетие по заданному году можно различными способами с помощью JavaScript. В этой статье мы рассмотрели три метода: простое деление с помощью Math.ceil(), Math.floor() с условными операторами и использование объекта Date. Каждый метод предлагает уникальный подход со своими преимуществами. Используя эти методы, вы можете легко определить век любого года в ваших проектах JavaScript. Приятного кодирования!