Форум программистов, компьютерный форум, киберфорум
Наши страницы
Ruby
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
ig866
0 / 0 / 0
Регистрация: 12.04.2019
Сообщений: 7
1

Ребят не могу разобраться /новичок (Программа разница во времени и дате )

12.04.2019, 14:26. Просмотров 1684. Ответов 2
Метки time (Все метки)

Ребят , хочу сделать програмулину которая будет считать количество дней и рабочих часов от введенной даты 1 до введенной даты 2.

Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
puts "введите дату1  гггг-мм-дд"
 user_input = gets.chomp
puts "введите дату2 окончания гггг-мм-дд"
 user_input2 = gets.chomp
 
 
t = Time.now
puts "Сегодня " + t.to_s
 
t1 = Time.new(user_input)# проблема тут  в "" не могу понять как добиться того что б введенная дата корректно переносилась в формулу .
t2 = Time.new(user_input2) #проблема тут  в "user_input2" не могу понять как добиться того что б введенная дата корректно переносилась в формулу
 #Если вводить дату в ручную (2007,11,1) вместо user_input1 и (2007,10,1)вместо user_input2 то всё корректно считает 
p =((t2-t1)/3600.0)
pp =((p)/3)
puts  t1
puts  t2
puts  "Разница в часах " + p.to_s
puts  "Рабочих часов " + pp.to_s
Подскажите -что не так ?. Всё работает как надо но по отдельности , я не могу их связать ввод данных с формулой расчёта.
Заранее спасибо.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2019, 14:26
Ответы с готовыми решениями:

Ребят не могу разобраться?
Ребят нужна помощь по этой ошибке,из отдела форм отправили сюда(...

ребят не могу разобраться почему не работает программ
Exception in Tkinter callback Traceback (most recent call last): File "c:\program...

Ребят, подскажите, не могу разобраться, плохо ноут ловит Wi-Fi!
В общем, такая ситуация, ноутбук плохо принимает Wi-Fi, драйвера поменял ничего, а главное с...

Ребят, задачи по Delphi ,*совсем разобраться сама не могу. Кто поможет?
Очень сильно нуждаюсь в вашей помощи.:wall: P.S Вот зачем же девушкам Delphi )))?:-[

Вывод времени на экран. Не могу разобраться?
Есть готовая работающая программа, но никак не могу разобраться, как она работает:help::...

2
j2FunOnly
Модератор
Эксперт JS
1124 / 1000 / 555
Регистрация: 05.06.2015
Сообщений: 2,251
12.04.2019, 15:53 2
Лучший ответ Сообщение было отмечено ig866 как решение

Решение

Вы дату как вводите? 2019-04-12 - так, разделённую дефисом?

Смотрите что происходит: вы методу Time::new передаёте строку введённую пользователем, например 2019-04-12. Этот метод пытается привести строку в целочисленный тип с помощью метода String#to_i (берёт цифры с начала строки до первого не цифрового символа, если таких нет, то возвращает 0)
Ruby
1
'2019-04-12'.to_i #=> 2019
То есть в вашем случае интерпретатор считает что вы передаёте только год

Вам надо строку "разбить" по символу - с помощью String#split и передать методу Time::new, хитрым образом "распаковав" массив в набор аргументов: Expanding Arrays in Method Calls
Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
puts "введите дату1  гггг-мм-дд"
user_input = gets.chomp
 
puts "введите дату2 окончания гггг-мм-дд"
user_input2 = gets.chomp
 
t = Time.now
puts "Сегодня " + t.to_s
 
t1 = Time.new(*user_input.split('-'))
t2 = Time.new(*user_input2.split('-'))
 
p = (t2 - t1) / 3600.0
pp = p / 3
 
puts t1
puts t2
puts "Разница в часах " + p.to_s
puts "Рабочих часов " + pp.to_s
0
ig866
0 / 0 / 0
Регистрация: 12.04.2019
Сообщений: 7
12.04.2019, 16:16  [ТС] 3
Я несколько дней бьюсь над этим вопросом.Вводил все варианты и через "," "-" "." Искал ответ в Class:Time -не помогло .
Спасибо ,всё забегало !
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2019, 16:16

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива...

Не могу разобраться, как работает программа?
Исходники программы, которая решает пятнашки. Пока были функции, было просто, но потом пошли...

Как работает программа? Не могу разобраться
Здравствуйте! Изучать ассемблер я начал изучать совсем недавно. Для начала изучаю программирование...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru