Вход

Просмотр полной версии : есть дата. как к ней прибавить 30 минут и вывести в поле input type date


Sergey1986
15.11.2018, 11:48
Все дорого времени суток!

Столкунляся с задачкой!
есть
var timeSrart = 14:30 (иное время) \\
как мне получить +30 минут
timeFinish = 15:00

И это закарячить в поле input type=time

в инете нашел похожее, но не корячиться что то в поле
var initialDate = '10:00';
var theAdd = new Date(1900,0,1,initialDate.split(":")[0],initialDate.split(":")[1]);
if(30 min condition){
theAdd.setMinutes(theAdd.getMinutes() + 30);
} else if (1 hour condition){
theAdd.setHours(theAdd.getHours() + 1);
}
console.log(theAdd.getHours()+":"+theAdd.getMinutes());

Sergey1986
15.11.2018, 12:05
так если собрать строку
var h = theAdd.getHours()+':'+theAdd.getMinutes();
и закорячить сюда
$('input[name="ime-finish"]').val(h);
работает
но если время 10:30
то не работает, обрубает ноль и поле не принимает его(((

j0hnik
15.11.2018, 12:11
<input type="time" id="dt">
<script>
var date = new Date(Date.now()+(1000 * 60 * 30));
dt.value = date.toTimeString().slice(0,5);
</script>

Sergey1986
15.11.2018, 12:25
и тут такая петрушка обрезает время
The specified value "13:5" does not conform to the required format. The format is "HH:mm", "HH:mm:ss" or "HH:mm:ss.SSS" where HH is 00-23, mm is 00-59, ss is 00-59, and SSS is 000-999.

j0hnik
15.11.2018, 12:29
Sergey1986,
вижу, поправил

Sergey1986
15.11.2018, 12:46
оно конечно зработало! спасибо!
но у меня отсчет идет не оттекущего времени, а есть только начало в часах, к примеру (14:30, 15:54....) и все...и у меня ступор, как задать то это...
думаю дата не имеет значение взять получается дату
var initialDate = timeSrart;
var theAdd = new Date(1900,0,1,initialDate.split(":")[0],initialDate.split(":")[1]);
а дальше тупик((((

Sergey1986
15.11.2018, 12:53
победил

Sergey1986
15.11.2018, 12:54
спасибо!

Sergey1986
15.11.2018, 12:54
console.log(timeSrart);
var initialDate = timeSrart;
var theAdd = new Date(1900,0,1,initialDate.split(":")[0],initialDate.split(":")[1]);
var later = new Date(theAdd.getTime() + (30 * 60 * 1000));
console.log(later);
dt.value = later.toTimeString().slice(0,5);

Sergey1986
15.11.2018, 12:54
может кому понадобиться