Я использовал версию на 64 бита TortoiseSVN целую вечность, и у меня никогда не было проблем с ним в Windows 64Bit или Vista 64 бита. Я в настоящее время не знаю ни о каком другом similiar SVN клиенты, которые действительно работают над Vista. Действительно ли возможно, что проблема могла заключаться в конфигурации TortoiseSVN или даже установки Vista? Проблема происходит на собственном компоненте Vista или SP 1?
Вот быстрый и простой способ реализовать это. Установите предопределенные измерения для секунд, минут, часов и дней. Затем, в зависимости от размера числа, выведите соответствующую строку с этими единицами измерения. Мы расширим 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
Взгляните на метод Rails DateHelper.distance_of_time_in_words . Это даст вам отличную отправную точку. Несмотря на то, что он загружен магическими числами, этот подход должен работать на вас.
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