少し前に、Ruby の time-like クラスの違いを深く掘り下げました。いろいろ聞いてみた結果、DateTime を使用する正当な理由はないという結論に達しました。
この質問は、基本的に上記の質問の逆です。
DateTime
日付と時刻がすべてをうまく、そしてより良くできるのに、最初に標準ライブラリに追加されたのはなぜですか? 誰が実際に (そして何のために) DateTime を使用して、stdlib に引き続き配置されているのでしょうか?
少し前に、Ruby の time-like クラスの違いを深く掘り下げました。いろいろ聞いてみた結果、DateTime を使用する正当な理由はないという結論に達しました。
この質問は、基本的に上記の質問の逆です。
DateTime
日付と時刻がすべてをうまく、そしてより良くできるのに、最初に標準ライブラリに追加されたのはなぜですか? 誰が実際に (そして何のために) DateTime を使用して、stdlib に引き続き配置されているのでしょうか?
DATETIME
DateTime は、データベース内の同等の列をラップするために作成された Rails のものとして普及しました。Time
これらの列は日付範囲よりもはるかに柔軟であるため、すべての可能な値を取得するには新しい型が必要でした。Ruby 1.8.6 および 1.8.7 の初期バージョンでは、時間は標準の 1901 ~ 2038 の範囲に制限されており、内部的に符号なしの長い (32 ビット) 数値として表されます。
Rails内では、ほとんどの場合、計算方法はDateTimeのみですが、違いはほとんどありません。
DateTime と Time のどちらを使用するかについては、特にどちらかを優先する十分な理由がない限り、気にする必要はありません。Rails から DateTime オブジェクトを取得している場合は、フローに従ってそれらを使用します。独自の Ruby アプリケーションを作成している場合は、好きなことを何でもできます。