← Static tasks

1360. Number of Days Between Two Dates

leetcode easy

#csharp#easy#leetcode#math#string

Task

Напишите программу для подсчета количества дней между двумя датами.

Даты даны в виде строк в формате YYYY-MM-DD, как показано в примерах.

Пример

Input: date1 = "2019-06-29", date2 = "2019-06-30"

Output: 1

C# solution

matched/original
using System;
public class Solution {
    public int DaysBetweenDates(string date1, string date2) {
        DateTime d1 = DateTime.Parse(date1);
        DateTime d2 = DateTime.Parse(date2);
        return Math.Abs((d2 - d1).Days);
    }
}

C++ solution

auto-draft, review before submit
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    public int DaysBetweenDates(string date1, string date2) {
        DateTime d1 = DateTime.Parse(date1);
        DateTime d2 = DateTime.Parse(date2);
        return abs((d2 - d1).Days);
    }
}

Java solution

matched/original
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Solution {
    public int daysBetweenDates(String date1, String date2) {
        LocalDate d1 = LocalDate.parse(date1);
        LocalDate d2 = LocalDate.parse(date2);
        return (int) Math.abs(ChronoUnit.DAYS.between(d1, d2));
    }
}

JavaScript solution

matched/original
var daysBetweenDates = function(date1, date2) {
    const d1 = new Date(date1);
    const d2 = new Date(date2);
    return Math.abs((d2 - d1) / (1000 * 60 * 60 * 24));
};

Explanation

Algorithm

1⃣Преобразование строк в даты:

Используйте встроенные функции для преобразования строковых представлений дат в объекты дат.

2⃣Вычисление разницы в днях:

Вычислите разницу между двумя объектами дат в днях.

3⃣Возвращение результата:

Верните абсолютное значение разницы в днях для получения положительного числа.

😎