Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2017, 12:32
Аспирант
Отправить личное сообщение для okuznetsov1 Посмотреть профиль Найти все сообщения от okuznetsov1
 
Регистрация: 02.11.2016
Сообщений: 65

Как вычислить среднее значение между двумя временными метками
Имеется два времени, нужно узнать усредненное значение времени. Как это делается?

t1 = '16:46';
t2 = '17:04';
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2017, 12:42
Аспирант
Отправить личное сообщение для okuznetsov1 Посмотреть профиль Найти все сообщения от okuznetsov1
 
Регистрация: 02.11.2016
Сообщений: 65

Часы сложить с часами и разделить на 2, минуты с минутами и разделить на 2

правильно думаю?
Ответить с цитированием
  #3 (permalink)  
Старый 15.04.2017, 13:43
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

Преобразовать шестидесятеричную запись в число, провести вычисления и преобразовать обратно.
Ответить с цитированием
  #4 (permalink)  
Старый 15.04.2017, 15:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

okuznetsov1,
время всегда в течении одних суток?
Ответить с цитированием
  #5 (permalink)  
Старый 15.04.2017, 15:23
Аспирант
Отправить личное сообщение для okuznetsov1 Посмотреть профиль Найти все сообщения от okuznetsov1
 
Регистрация: 02.11.2016
Сообщений: 65

Сделал так:

16*60 + 46 = 1006 мин
17*60 + 04 = 1024 мин
(1024 + 1006)/2 * 60 = 60900 секунд



var seconds=60900;
new Date(seconds*1000).toUTCString().split(/ /)[4];


"16:55:00"


Но хотелось бы через moment.js реализовать?
Ответить с цитированием
  #6 (permalink)  
Старый 15.04.2017, 15:24
Аспирант
Отправить личное сообщение для okuznetsov1 Посмотреть профиль Найти все сообщения от okuznetsov1
 
Регистрация: 02.11.2016
Сообщений: 65

Сообщение от рони Посмотреть сообщение
okuznetsov1,
время всегда в течении одних суток?
да
Ответить с цитированием
  #7 (permalink)  
Старый 15.04.2017, 15:33
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

var t1 = "16:46",
    t2 = "17:04";

alert( getAverage(t1, t2) );

function addZero(a) {
	a += "";
	return a.length === 1 ? 0 + a : a;
}

function toMinutes(a) {
	a = a.split(":");
	return a[0] * 60 + +a[1];
}

function fromMinutes(a) {
	return addZero(~~(a / 60)) + ":" + addZero(a % 60);
}

function getAverage(a, b) {
	return fromMinutes( (toMinutes(a) + toMinutes(b)) / 2 );
}
Ответить с цитированием
  #8 (permalink)  
Старый 15.04.2017, 15:38
Аспирант
Отправить личное сообщение для okuznetsov1 Посмотреть профиль Найти все сообщения от okuznetsov1
 
Регистрация: 02.11.2016
Сообщений: 65

А вот реализовал и через moment.js:

moment.utc(60900*1000).format("HH:mm")
Ответить с цитированием
  #9 (permalink)  
Старый 15.04.2017, 15:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

okuznetsov1,
вариант тотже что у вас, но точность ниже до минут только.
var t1 = '16:46',
    t2 = '17:04';
function fn(a,b)
{
   a = a.split(":");
   b = b.split(":");
   a = a[0] * 60 + a[1] * 1;
   b = b[0] * 60 + b[1] * 1;
   a += (b - a)/2;
   return [a/60|0,a%60|0].join(":")
}
alert(fn(t1,t2));
Ответить с цитированием
  #10 (permalink)  
Старый 15.04.2017, 15:48
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

рони,

var t1 = '06:00',
    t2 = '06:10';
function fn(a,b)
{
   a = a.split(":");
   b = b.split(":");
   a = a[0] * 60 + a[1] * 1;
   b = b[0] * 60 + b[1] * 1;
   a += (b - a)/2;
   return [a/60|0,a%60|0].join(":")
}
alert(fn(t1,t2));
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вытащить то что между тегами <option>? BlackWolfDen Элементы интерфейса 2 27.04.2011 15:21
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 23:46
Значение переменной не может привысить 30 и опуститься ниже 1-го, как сделать? libinstyle Events/DOM/Window 3 12.07.2010 23:27
как передовать и парсить значение переменной по URL? FATALITY Общие вопросы Javascript 10 25.03.2010 19:32
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25