Функции даты: поиск первого и последнего дня месяца

В этой статье блога мы рассмотрим различные способы получения первого и последнего дня месяца на примерах кода. Независимо от того, работаете ли вы над проектом, требующим манипулирования датами, или просто хотите узнать больше об обработке дат в программировании, это руководство предоставит вам несколько подходов для выполнения этой задачи. Давайте погрузимся!

Метод 1: использование модуля calendarв Python

import calendar
def get_first_and_last_day(year, month):
    _, last_day = calendar.monthrange(year, month)
    first_day = f"{year}-{month:02d}-01"
    return first_day, f"{year}-{month:02d}-{last_day}"
# Example usage
year = 2022
month = 12
first_day, last_day = get_first_and_last_day(year, month)
print(f"First day: {first_day}")
print(f"Last day: {last_day}")

Метод 2: использование модуля datetimeв Python

import datetime
def get_first_and_last_day(year, month):
    first_day = datetime.date(year, month, 1)
    next_month = first_day.replace(day=28) + datetime.timedelta(days=4)
    last_day = next_month - datetime.timedelta(days=next_month.day)
    return str(first_day), str(last_day)
# Example usage
year = 2022
month = 12
first_day, last_day = get_first_and_last_day(year, month)
print(f"First day: {first_day}")
print(f"Last day: {last_day}")

Метод 3. Использование библиотеки moment.jsв JavaScript

const moment = require('moment');
function getFirstAndLastDay(year, month) {
    const firstDay = moment([year, month - 1]).startOf('month').format('YYYY-MM-DD');
    const lastDay = moment([year, month - 1]).endOf('month').format('YYYY-MM-DD');
    return { firstDay, lastDay };
}
// Example usage
const year = 2022;
const month = 12;
const { firstDay, lastDay } = getFirstAndLastDay(year, month);
console.log(`First day: ${firstDay}`);
console.log(`Last day: ${lastDay}`);

Метод 4. Использование пакета java.timeв Java

import java.time.LocalDate;
import java.time.YearMonth;
public class FirstAndLastDayOfMonth {
    public static void main(String[] args) {
        int year = 2022;
        int month = 12;

        YearMonth yearMonth = YearMonth.of(year, month);
        LocalDate firstDay = yearMonth.atDay(1);
        LocalDate lastDay = yearMonth.atEndOfMonth();

        System.out.println("First day: " + firstDay);
        System.out.println("Last day: " + lastDay);
    }
}

В этой статье мы рассмотрели несколько способов найти первый и последний день месяца с использованием разных языков программирования. Независимо от того, работаете ли вы с Python, JavaScript или Java, теперь у вас есть несколько примеров кода для решения этой задачи. Смело выбирайте тот метод, который лучше всего соответствует вашим потребностям. Приятного кодирования!