Ne zaman Ruby en yakın 15 dakika için aşağı yuvarlamak için? | Netgez.com
SORU
16 Ocak 2009, Cuma


Ne zaman Ruby en yakın 15 dakika için aşağı yuvarlamak için?

Kolay bir yolu, bir Zaman, en yakın 15 dakikaya tura var mı?

Bu şu anda yaptığım şeydir. Daha kolay bir yol var mı?

t = Time.new
rounded_t = Time.local(t.year, t.month, t.day, t.hour, t.min/15*15)

CEVAP
16 Ocak 2009, Cuma


"Yuvarlak" ise aslında yuvarlak veya zemin arıyorsan, emin değilim, ama burada yapacak bir kod var. aşağı dedi Böyle bir şey gerçekten de varsa round_off ve Zaman sınıf floor yöntemleri eklerseniz okur bence. Yararı daha kolay herhangi bir zaman bölümü yuvarlak olabilir.

require 'active_support/core_ext/numeric' # from gem 'activesupport'

class Time
  # Time#round already exists with different meaning in Ruby 1.9
  def round_off(seconds = 60)
    Time.at((self.to_f / seconds).round * seconds)
  end

  def floor(seconds = 60)
    Time.at((self.to_f / seconds).floor * seconds)
  end
end

t = Time.now                    # => Thu Jan 15 21:26:36 -0500 2009
t.round_off(15.minutes)         # => Thu Jan 15 21:30:00 -0500 2009
t.floor(15.minutes)             # => Thu Jan 15 21:15:00 -0500 2009

Not:ActiveSupport sadece 15.minutes güzel tartışma için gerekliydi. Eğer bu bağımlılık istemiyorsun. öyleyse 15 * 60 kullanın.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • KSI

    KSI

    25 Temmuz 2009
  • TotalxLuna

    TotalxLuna

    27 Kasım 2011