|   |   | 
| 
 | Как в Котлине подсчитать разницу во времени Ø (Волшебник 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) иди работай     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |