4

次の問題があります。特定の時刻の昨日のタイムスタンプを取得したい。

私がこれまでに思いついたのは:

Time.local(Time.now.strftime("%Y"), Time.now.strftime("%m"), (Time.now.strftime("%d")-1), 23, 59, 59).tv_sec

私はRubyを初めて使用するので、おそらくそれが私のRubyコードがPHPに非常に似ている理由です:)

RubyでこのPHPソリューションのようなものが欲しいと言ったときに役立つかもしれません。

mktime(23,59,59,date("m",time()),date("d",time()-86400),date("Y",time()));
4

2 に答える 2

4

Activesupportを使用するのは問題ですか?

require 'active_support'
Date.yesterday.end_of_day # .to_i to get the timestamp in seconds
#=> Mon Nov 14 23:59:59 +0100 2011
于 2011-11-15T13:03:29.213 に答える
2
require 'date'
Date.today.to_time - 1  #=> 2011-11-14 23:59:59
于 2011-11-15T13:10:15.927 に答える