TheAlgorithms-Ruby/other/number_of_days.rb

35 lines
831 B
Ruby
Raw Normal View History

2021-06-03 19:15:05 +02:00
# Challenge name: Number of Days Between Two Dates
#
# Write a program to count the number of days between two dates.
#
2021-09-03 22:24:58 +02:00
# The two dates are given as strings, their format is YYYY-MM-DD as shown in the examples.
2021-06-03 19:15:05 +02:00
# Example 1:
# Input: date1 = "2019-06-29", date2 = "2019-06-30"
# Output: 1
#
# Example 2:
# Input: date1 = "2020-01-15", date2 = "2019-12-31"
# Output: 15
#
2021-07-08 23:57:00 +02:00
# Constraints: The given dates are valid dates between the years 1971 and 2100.
#
2021-08-22 23:22:39 +02:00
# Approach 1: Using Ruby built-in feature Date.parse
2021-07-08 23:57:00 +02:00
# Time complexity: O(1)
# Space complexity: O(1)
#
2021-08-22 23:20:55 +02:00
2021-07-08 23:57:00 +02:00
require 'date'
def number_of_days(date1, date2)
beginning_date = Date.parse(date1)
end_date = Date.parse(date2)
(end_date - beginning_date).to_i.abs
end
2021-09-03 22:24:58 +02:00
puts number_of_days('2019-06-29', '2019-06-30')
2021-07-08 23:57:00 +02:00
# => 1
2021-09-03 22:24:58 +02:00
puts number_of_days('2020-01-15', '2019-12-31')
2021-08-22 23:20:55 +02:00
# => 15