Date in Ruby

Adam Adolfo
3 min readSep 9, 2020

The Date class in Ruby can be a flexible and dynamic way to solve problems in your program. It would be a short-sighted idea to hard-code in a date to satisfy whatever your requirements are when there are a collection of options to generate a date using the Date class.

To use date you need to require it like other gems. There are many complicated ways to incorporate the Date class but I will be showing a few of the simpler applications.

examples of basic syntax for date class applications

As you can see in the picture above, the Date class has the ability to avoid hard-coding things like the current day, tomorrow, or whenever you feel like.

This seems simple, but can be powerful if used in your code in a creative way. For example, you could use ‘Date.today’ as a replacement for a birthday in object-oriented programming.

An example of a new baby being born.
An example of a new baby being born.

In the example above, when an instance of a Baby class is initialized (born in this example), it’s birthday attribute will be set to the date it was instantiated. Our new baby, Bodie, will be born on September 8th, 2020. This will keep track of every new baby’s birthday without hard-coding the date you choose.

The Date class, just like all classes in object-oriented programming, create instances that are object data types. This means we can utilize our dates with methods to improve functionality rather than working with a string. We can perform a parse method that will take any string that is close to a date and turn it into a date object. There are multiple different methods you can perform on a date object to add functionality to your dates.

This is only a beginners introduction to Date. Like most things in programming there are countless things you can do to solve problems with advanced applications of the Date class. There are also Time and DateTime classes to explore in Ruby. With even a little knowledge on these classes you can make your program come to life and be more dynamic then just typing a date or a time. The documentation for these tools can be fun to read through and imagine the possibilities.

--

--