![]() |
|
Как в Котлине подсчитать разницу во времени Ø (Волшебник 15.10.2019 17:38) |
☑ | ||
---|---|---|---|---|
0
sidalexsandr
26.09.19
✎
18:42
|
Вот задача:
Поезд вышел со станции отправления в h1 часов m1 минут (например в 9:25) и * прибыл на станцию назначения в h2 часов m2 минут того же дня (например в 13:01). * Определите время поезда в пути в минутах (в данном случае 216). Встроенных функций работы со временем не нашел. Что делать? |
|||
1
novichok79
26.09.19
✎
18:44
|
Let's suppose we have two dates, exactly 6 months apart from each other:
1 2 var date1 = LocalDate.parse("2018-06-25") var date2 = LocalDate.parse("2018-12-25") Now, we can represent the distance between these two dates using Period's between method: 1 var period = Period.between(date1, date2) |
|||
2
novichok79
26.09.19
✎
18:45
|
||||
3
sidalexsandr
26.09.19
✎
19:21
|
(1) Спасибо, но мне нужно время, а не дата
|
|||
4
novichok79
26.09.19
✎
19:24
|
(3) а если так?
class Time(internal var hours: Int, internal var minutes: Int, internal var seconds: Int) fun main(args: Array<String>) { val start = Time(12, 34, 55) val stop = Time(8, 12, 15) val diff: Time diff = difference(start, stop) print("TIME DIFFERENCE: ${start.hours}:${start.minutes}:${start.seconds} - ") print("${stop.hours}:${stop.minutes}:${stop.seconds} ") print("= ${diff.hours}:${diff.minutes}:${diff.seconds}") } fun difference(start: Time, stop: Time): Time { val diff = Time(0, 0, 0) if (stop.seconds > start.seconds) { --start.minutes start.seconds += 60 } diff.seconds = start.seconds - stop.seconds if (stop.minutes > start.minutes) { --start.hours start.minutes += 60 } diff.minutes = start.minutes - stop.minutes diff.hours = start.hours - stop.hours return diff } |
|||
5
sidalexsandr
26.09.19
✎
19:41
|
(4) Спасибо, всё хорошо только секунды не нужны
|
|||
6
mikecool
26.09.19
✎
21:11
|
а что это за язык? оО
|
|||
7
DES
26.09.19
✎
21:19
|
(6) гуглу неймется
|
|||
8
Волшебник
26.09.19
✎
21:20
|
(6) Это теперь официальный язык от Google для программирования под Android вместо Java. Печалька, да?
|
|||
9
mikecool
26.09.19
✎
21:24
|
(8) та не... пусть балуются
я послушал вводные лекции по Go - понял, что в си-подобные языки пока не тянет ковыряю понемногу питон, пока прикольно |
|||
10
Asmody
26.09.19
✎
21:32
|
(0) [Что делать?] Взять java.time
|
|||
11
Garykom
гуру
26.09.19
✎
21:38
|
(0) >Что делать?
Заново идти в школу, можно с первого класса. Учить арифметику. ЗЫ В 1 часе 60 минут: (13*60+1) - (9*60+25) = ? |
|||
12
unbred
26.09.19
✎
21:41
|
(11) красава
|
|||
15
craxx
26.09.19
✎
22:30
|
(8) Это Котлин, а гуглевский вроде Go
|
|||
16
Волшебник
26.09.19
✎
22:46
|
(15) На Google I/O 2019 было объявлено, что язык программирования Kotlin стал приоритетным в разработке под Android
|
|||
17
sidalexsandr
29.09.19
✎
21:41
|
(16) А как же теперь Java?
|
|||
18
palsergeich
29.09.19
✎
23:18
|
(17) как нибудь так. Но хипстера будут лячькать на котлине
|
|||
19
APXi
30.09.19
✎
08:30
|
(0) Неужели в столь современном языке нет таких простых функций? Если реально нет, то это пи...., если найти не можешь, то тоже пи....
|
|||
20
Asmody
30.09.19
✎
09:01
|
Вы пьяные штоль все?
val time1 = java.time.LocalTime.of(9, 25) val time2 = java.time.LocalTime.of(13, 01) val duration = java.time.Duration.between(time1, time2) print(duration.toMinutes()) |
|||
21
sidalexsandr
30.09.19
✎
18:17
|
(20) Спасибо
|
|||
22
sitex
naïve
30.09.19
✎
18:21
|
(16) Ряды разрабов медленно стали кочевать , кто то повесился)
|
|||
23
Garykom
гуру
01.10.19
✎
08:13
|
(20) Как бы
val duration = (h2*60+m2)-(h1*60+m1) сильно проще, шустрее и не надо лишнего импорта |
|||
24
Asmody
01.10.19
✎
08:46
|
(23) Это ж java! Там без билдеров, фабрик, билдеров фабрик и фабрик билдеров вообще ничего не работает.
|
|||
25
Asmody
01.10.19
✎
08:47
|
И самое главное - ООП!
|
|||
26
ДенисЧ
01.10.19
✎
08:50
|
(25) ООП не нужен.
|
|||
27
Asmody
01.10.19
✎
08:52
|
(26) Нужен! Фузинцы не дадут соврать
|
|||
28
ДенисЧ
01.10.19
✎
08:53
|
(27) Вот они и пусть озобачиваются (ооп это же объекто-озабоченные перверсии, не так ли?)
|
|||
29
sidalexsandr
03.10.19
✎
16:49
|
Ещё задачка
* Мой возраст. Для заданного 0 < n < 200, рассматриваемого как возраст человека, * вернуть строку вида: «21 год», «32 года», «12 лет». Вопрос: подскажите закономерность |
|||
30
Garykom
гуру
03.10.19
✎
17:34
|
if () {
} else if () { } else if () { } else if () { } else |
|||
31
sidalexsandr
03.10.19
✎
19:36
|
(30) Не понятно например 12 лет и 22 года
|
|||
32
mikecool
03.10.19
✎
19:49
|
(31) курсы какие то решил пройти?
|
|||
33
Garykom
гуру
03.10.19
✎
21:30
|
(31) У тебя промежутки целых чисел от 0 до 200, раздели их и засунь в if
|
|||
34
Конструктор1С
04.10.19
✎
03:49
|
(29) ориентируйся на последнюю цифру в числе
0 лет 1 год 2-4 года 5-9 лет |
|||
35
icipher
04.10.19
✎
05:19
|
Для Сч = 0 По 200 Цикл
Если (Сч < 5 ИЛИ Сч > 20) И (Сч % 10 = 1) Тогда Постфикс = " год"; ИначеЕсли (Сч < 5 ИЛИ Сч > 20) И ((Сч % 10 = 2) ИЛИ (Сч % 10 = 3) ИЛИ (Сч % 10 = 4)) Тогда Постфикс = " года"; Иначе Постфикс = " лет"; КонецЕсли; Сообщить("" + Сч + Постфикс); КонецЦикла; только для 111-114 некорректно выдает) |
|||
36
sidalexsandr
04.10.19
✎
19:36
|
(34) 111 у тебя не прокатит
|
|||
37
sidalexsandr
04.10.19
✎
19:36
|
Ещё задачка
* Определить, пройдет ли кирпич со сторонами а, b, c сквозь прямоугольное отверстие в стене со сторонами r и s. * Стороны отверстия должны быть параллельны граням кирпича. * Считать, что совпадения длин сторон достаточно для прохождения кирпича, т.е., например, * кирпич 4 х 4 х 4 пройдёт через отверстие 4 х 4. * Вернуть true, если кирпич пройдёт |
|||
38
sidalexsandr
04.10.19
✎
19:38
|
(32) Хожу бесплатно на лекции в Политех по Котлину для 1-го курса.
Вообще удивляет что над первым курсом приходится задумываться |
|||
39
Garykom
гуру
05.10.19
✎
03:42
|
(37) Тупая задачка же на сочетания
ab,ba,ac,ca,bc,ca проверить <= rs |
|||
40
Конструктор1С
05.10.19
✎
04:14
|
(36) ну тогда ещё предпоследнюю цифру тоже проверять
|
|||
41
sidalexsandr
05.10.19
✎
21:13
|
Ещё задачка
* Проверить, лежит ли окружность с центром в (x1, y1) и радиусом r1 целиком внутри * окружности с центром в (x2, y2) и радиусом r2. * Вернуть true, если утверждение верно Сообразил когда x1=x2 и y1=y2 тогда внутри если R1<=r2 Вопрос: какие ещё случаи? |
|||
42
Garykom
гуру
05.10.19
✎
21:25
|
(41) Одно условие всего же
(x1-r1)>=(x2-r2) and (x1+r1)<=(x2+r2) and (y1-r1)>=(y2-r2) and (y1+r1)<=(y2+r2) |
|||
45
Asmody
05.10.19
✎
22:39
|
(43) свои стектрейсы в задницу себе засунь
|
|||
46
sidalexsandr
05.10.19
✎
22:45
|
(42) Не верно. Выдает ошибку
|
|||
47
sidalexsandr
05.10.19
✎
22:48
|
Сработало
if(r2 < r1) { return false } return (sqr(x2 - x1) + sqr(y2 - y1) <= sqr(r2-r1)) |
|||
48
sidalexsandr
15.10.19
✎
17:34
|
Найти n-ю цифру последовательности из квадратов целых чисел:
* 149162536496481100121144... * Например, 2-я цифра равна 4, 7-я 5, 12-я 6. * * Использовать операции со строками в этой задаче запрещается. |
|||
49
Волшебник
15.10.19
✎
17:38
|
(48) иди работай
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |