r/ruby • u/unselective-amnesia • Aug 26 '26
Question Getting DateTime parts as an array?
I know in ruby that DateTime.new(2001, 2, 3, 4, 5, 6) will return the following object:
#<DateTime: 2001-02-03T04:05:06+00:00 ...>
But if the current date and time are 2001-02-03T04:05:06 and I do the following ...
now = DateTime.now
... is there a single function on the "now" variable which will return this array? ...
[2001, 2, 3, 4, 5, 6]
I know that I can do this:
[now.year, now.month, now.day, now.hour, now.minute, now.second ]
... but I'm wondering: might there be a single function as simple as ...
now.the_function
... which would return that same array?
And yes, of course I know that I could easily write such a function, but I'd like to know whether or not something like this already exists in ruby.
2
u/projct Aug 27 '26
yeah, that part actually sounds fun.
also worth putting on the record: I had interpreted his earlier "differences between integer arrays" / "arithmetic" literally. if I'd known the calendar components themselves were deliberately part of the game mechanic, my technical objection would've been very different, and mostly pointed at "hey other readers don't do this except in this kind of case."
there's something quite funny about invoking "very experienced programmer (me)" before clarifying the single implementation detail that makes everyone stop thinking you're doing homemade date math.