Ruby может распечатать разницу во времени (продолжительность) с готовностью?

Я использовал версию на 64 бита TortoiseSVN целую вечность, и у меня никогда не было проблем с ним в Windows 64Bit или Vista 64 бита. Я в настоящее время не знаю ни о каком другом similiar SVN клиенты, которые действительно работают над Vista. Действительно ли возможно, что проблема могла заключаться в конфигурации TortoiseSVN или даже установки Vista? Проблема происходит на собственном компоненте Vista или SP 1?

23
задан nopole 5 November 2009 в 09:27
поделиться

3 ответа

Вот быстрый и простой способ реализовать это. Установите предопределенные измерения для секунд, минут, часов и дней. Затем, в зависимости от размера числа, выведите соответствующую строку с этими единицами измерения. Мы расширим Numeric , чтобы вы могли вызывать метод для любого числового класса ( Fixnum , Bignum или в вашем случае Float ).

class Numeric
  def duration
    secs  = self.to_int
    mins  = secs / 60
    hours = mins / 60
    days  = hours / 24

    if days > 0
      "#{days} days and #{hours % 24} hours"
    elsif hours > 0
      "#{hours} hours and #{mins % 60} minutes"
    elsif mins > 0
      "#{mins} minutes and #{secs % 60} seconds"
    elsif secs >= 0
      "#{secs} seconds"
    end
  end
end
37
ответ дан 29 November 2019 в 01:32
поделиться

Взгляните на метод Rails DateHelper.distance_of_time_in_words . Это даст вам отличную отправную точку. Несмотря на то, что он загружен магическими числами, этот подход должен работать на вас.

4
ответ дан 29 November 2019 в 01:32
поделиться
time_difference = current_time - old_time



 def seconds_fraction_to_time(time_difference)
    days = hours = mins = 0
      mins = (seconds / 60).to_i
      seconds = (seconds % 60 ).to_i
      hours = (mins / 60).to_i
      mins = (mins % 60).to_i
      days = (hours / 24).to_i
      hours = (hours % 24).to_i
    return [days,hours,mins,seconds]
  end

тогда вы можете распечатать его как хотите,

то есть

if(days > 0)
return "#{days} Days #{hours} Hours"
else
return "#{hours} Hours #{mins} Minutes"
end
-1
ответ дан 29 November 2019 в 01:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: