Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/56: Рейтинг темы: голосов - 56, средняя оценка - 4.61
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908

Посчитать разницу во времени

27.09.2016, 06:31. Показов 12141. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Есть простая задача. Необходимо посчитать разницу в секундах между 2 переменными. Они получаются так
Bash
1
2
localtime=$(date +%H.%M)
yourtime=22.33
Учтем тот факт например что текущее время, к примеру уже 23.00, то есть пропустили по каким то причинам.
То есть надо и это посчитать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.09.2016, 06:31
Ответы с готовыми решениями:

Найти разницу во времени (вычесть из одного времени другое)
Нужно найти разницу во времени: t1 - t2. Просто так объекты типа datetime отниматься не хотят. Нашел...

Не могу посчитать разницу в таблице
Я знаю как посчитать разницу в одном и том же DBGrid. Но, дело в том, что мне нужно вывести это в другой DBGrid. Я сделала вот так,...

Посчитать разницу столбцов DBGrid
Ребят, помогите! как реализовать такую штуку? Я привязал бд к делфи, добавил кнопки заполнения этой таблицы. теперь мне нужно реализовать...

32
74 / 74 / 17
Регистрация: 06.05.2016
Сообщений: 413
02.10.2016, 01:04
Студворк — интернет-сервис помощи студентам
На android-x86-4.0.iso работает
Code
1
2
date +%s -d 201610012300
date +%s -d 10012300
busybox v1.15.0.svn (2009-07-21 22:30:15 PDT) multi-call binary
Точнее, android-x86-4.0-RC1-asus_laptop.iso
0
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
02.10.2016, 09:06  [ТС]
Marinero, hrlp скопировал из терминала, так что тот.
Попробовал ваш код - bad date

Добавлено через 2 минуты
kalsarikannit, попробуйте на аосп андроид 6 х64
Сам попробую в системе кое что поменять у себя. Может toybox кривой. Либо переключить на busybox.
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
02.10.2016, 12:13
Остается пробовать разные варианты менять порядок, убирать-ставить разделители
Bash
1
2
3
date -d "10012016 23:00"
date -d "100120162300"
%s пока убрать чтобы было видно та ли дата (не напутан месяц/день)
1
74 / 74 / 17
Регистрация: 06.05.2016
Сообщений: 413
02.10.2016, 16:23
Цитата Сообщение от Marinero Посмотреть сообщение
Code
1
date +%s -s '+%a %b %e %H:%M:%S %Z %Y' -d "Sat Oct 1 23:00:00 MSK 2016"
Если предположить, что нужен определенный в справке порядок параметров, то возможен вариант:
Code
1
date +%s -d "Sat Oct 1 23:00:00 MSK 2016" -s '+%a %b %e %H:%M:%S %Z %Y'
Цитата Сообщение от blackeangel Посмотреть сообщение
Code
1
2
571907168
147534923
Попробовал применить реверс-инженеринг:
Code
1
2
3
4
5
6
7
->PS1='это команда ----->'
это команда ----->date -d@571907168
Пн фев 15 10:06:08 MSK 1988
это команда ----->date -d@147534923
Ср сен  4 16:55:23 MSK 1974
это команда ----->date +%s 
1475413884
Что-то пошло не так.
Сравните количество цифр у 147534923 и 1475413884
0
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
02.10.2016, 17:13  [ТС]
kalsarikannit, да вот же
Code
1
2
3
4
5
6
7
8
9
10
11
12
3919056848
 
1475417507
 
-1851327955
 
timer.sh[14]: sleeptime: not found
 
-1851327955
 
timer.sh[15]: sleep: syntax error: Invalid argument '-1851327955'
1|u0_a72@X5PRO:/sdcard $
0
74 / 74 / 17
Регистрация: 06.05.2016
Сообщений: 413
02.10.2016, 17:34
Цитата Сообщение от blackeangel Посмотреть сообщение
kalsarikannit, да вот же
Code
1
2
3
4
5
6
7
3919056848
 
1475417507
 
-1851327955
 
1|u0_a72@X5PRO:/sdcard $
Code
1
2
3
4
5
6
это команда -->    date -d@3919056848
date: invalid date ‘@3919056848’
это команда -->    date -d@1475417507
Вс окт  2 17:11:47 EEST 2016
это команда -->    date -d@-1851327955
Ср май  3 15:53:05 TMT 1911
Я уж несколько раз топик просмотрел, не могу
увидеть, где вы показываете, как у вас выглядит
Code
1
date
без параметров. Покажите, если не сложно.
То есть, сделайте так:
Bash
1
date ; date +%s
1
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
02.10.2016, 18:46  [ТС]
kalsarikannit, Marinero,
Ребята, спасибо вам за помощь!
Вы всё свои варианты правильные и рабочие давали!
Это у меня toybox собран через жо! Переадресовал на busybox все сразу заработало как надо!
Но вопрос работы с отрицательными числами остался открыт.
0
74 / 74 / 17
Регистрация: 06.05.2016
Сообщений: 413
02.10.2016, 18:54
В toybox начиная с шестой версии есть crontab.
0
 Аватар для blackeangel
19 / 10 / 1
Регистрация: 22.07.2015
Сообщений: 908
02.10.2016, 21:21  [ТС]
kalsarikannit, у меня 6 версия и crontab и cron там нашел у себя. В busybox есть.
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 2
16.02.2020, 00:42
Я понимаю, что тема уже мёртвая, но не могу удержаться от комментария =)

Если задача просто написать будильник, то сделать это можно циклом:

Bash
1
2
3
4
5
6
7
8
9
#!/bin/sh
alarm_time="07:00"; # Время сигнала
while true; do # Бесконечный цикл
    # Если текущее время равно заданному пользователем
    if [[ "$(date +'%H:%M')" == "$alarm_time" ]]; then
        aplay alarm.mp3; # То воспроизводим звуковой сигнал
    fi
    sleep 5; # Ждём 5 секунд, чтобы не нагружать систему
done
PS: Написал скрипт за 15 секунд, это быстрее, чем задать вопрос на форуме.
0
505 / 158 / 49
Регистрация: 27.02.2016
Сообщений: 820
16.02.2020, 08:43
blackeangel,
мне почему то кажется что узнать как конвертировать эпоху в локальные форматы можно нагуглить не вызывая помошь форума

например

https://www.vanstechelman.eu/l... using-bash


Code
1
2
3
4
5
6
7
8
9
DATE_HACKER_FORMAT='13.04.18.14.15'
IFS=\. read DAY MONTH YEAR HOUR MINUTE <<<$DATE_HACKER_FORMAT
YEAR=$(expr $YEAR \+ 2000 )
EPOCH_SECONDS=$(date +%s -d "$YEAR-$MONTH-$DAY $HOUR:$MINUTE")
echo $EPOCH_SECONDS
#  1523643300
DATE_LOCAL_FORMAT=$(date +"%Y-%m-%d %H:%M" -d @$EPOCH_SECONDS)
echo $DATE_LOCAL_FORMAT
# 2018-04-13 14:15
про умножение элементарное знание шел синтаксиса помогает
Code
1
2
3
4
D=42
E=$(( -1 * D))
echo $E
# -42
0
0 / 0 / 0
Регистрация: 16.02.2020
Сообщений: 2
16.02.2020, 21:47
date +%s -d "161001 2300"
Это перевод даты в секунды с начала эпохи, а как я понял человеку нужен будильник был.
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
18.02.2020, 10:54
Bash
1
locale -k LC_TIME
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2020, 10:54
Помогаю со студенческими работами здесь

Как посчитать разницу дат
Здравствуйте как посчитать разницу между двумя введенными датами и так что бы это отображалось в другом поле( п.с. куда надо поставить...

Найти разницу во времени
Найти разницу во времени когда в одной строке задано T1, T2 в формате hh:mm:ss (12:47:06). И разницу вивести в таком же формате.

Расчитать разницу во времени
Подскажите пожалуйста. Считает если время одного дня. Если пишу время1 23.59.59 время2 01.01.01 считает уже неправильно. Вот мой код....

Узнать разницу времени
Можно ли в с# получить системное время в формате int? Мне нужно получить системное время вначале и в конце работы программы что бы узнать...

Вычесть разницу во времени
Всем привет, столкнулся с небольшой проблемой. На голом PHP при цикле я нормально сравниваю время и оно работает нормально. Но вот чуть...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru