From: shevegen@... Date: 2019-03-15T07:09:01+00:00 Subject: [ruby-core:91845] [Ruby trunk Feature#15668] stdlib: Date - Time should return the difference in days Issue #15668 has been updated by shevegen (Robert A. Heiler). The error message could indeed be improved. As for the functionality, I think matz may have to decide whether this may fit to duck typing or not. In my opinion the distinction between a "date" and a "time" is a bit arbitrary when we think of time as something keeping track of seconds (and date ultimately the same, just with some more date-specific handling of code; oddly enough I personally almost always end up with Time, rather than Date ... but we also have DateTime which is even stranger). ---------------------------------------- Feature #15668: stdlib: Date - Time should return the difference in days https://bugs.ruby-lang.org/issues/15668#change-77115 * Author: foonlyboy (Eike Dierks) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Hi at the ruby/stdlib, Computing with times and dates is very complicated. There are so many pitfalls lurking there. I stumbled about a seemingly simple computation, involving Date and Time try: Date.today - Time.now => TypeError: expected numeric while my naively expected result can done by: Date.today - Time.now.to_date => (0/1) There must be a whole lot of good reasons why Date - Time is not allowed. I'd like to suggest: - improve the error message - improve the documentation of #- For the error message: TypeError: expected numeric should be improved to: Date - Time is not allowed The documentation of Date should state why this is so problematic. You might even want to add a principal documentation, about the handling of Date and Time in ruby --- you can't tune a fish -- https://bugs.ruby-lang.org/ Unsubscribe: