Перейти к содержимому


Как задать период


Сообщений в теме: 11

#1 InfSys

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 24 Март 2014 - 10:24

Добрый день, вопрос следующий:
Возможно ли реализовать выделение нескольких конкретных дат по календарю или любым другим способом? В идеале с возможностью вместе с датой выбрать конкретное время в течение дня.
Пример:
Период 20.03.2014 по 24.03.2014 с 10.30 до 18.30 или
Период 20.03.2014 по 24.03.2014, 27.03.2014 с 8.00 до 19.00.

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 24 Март 2014 - 11:51

Какой именно календарь Вас интересует? Не этот ?

#3 InfSys

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 24 Март 2014 - 11:59

CbCoder, конкретно интересует тип поля Дата/Время. Там всплывающий календарик

Сообщение отредактировал InfSys: 24 Март 2014 - 11:59


#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 24 Март 2014 - 12:31

Тогда не совсем понял, каким образом вы хотите загонять в поле "дата/время" несколько дат? Там место только для одной даты. Для указания периода нужно использовать 2 поля как минимум.

Что касается времени в календарике, то оно там появляется если в настройках поля включено отображение времени

#5 InfSys

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 24 Март 2014 - 12:54

CbCoder, все понял.
А можно это реализовать с помощью кода? Через представления например.

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 24 Март 2014 - 13:47

Отобразить календарики в представлении можно так:

<script type="text/javascript">
// инициализируем календарики
$(function() {
  $('.datepicker').datepicker({
		showOn:"button",
		showAlways: true,
		buttonImage: "images/calbtn.png",
		buttonImageOnly: true,
		buttonText: "Calendar",
		showAnim: (('\v'=='v')?"":"show"),
  })
});
</script>

Дата: <input type="text" size="10" class="datepicker">
Дата со временем: <input type="text" size="19" class="datepicker">

Соответственно, для периода задаете два таких поля и затем в коде обрабатываете как "больше первой даты, но меньше второй". Пример реализации есть в отчетах стандартной конфигурации.

#7 InfSys

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений

Отправлено 24 Март 2014 - 13:58

Благодарю за помощь

#8 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 05 Июль 2016 - 12:42

Пытаюсь вычислением задать определенное время
$line['Приезд'] = $line['Дата']." 09:00";
Поле Дата имеет формат дата\время без указания времени, а поле Приезд формат дата\время с указанием времени.
В результате работы такого вычисления поле Приезд всегда отображается так 05.07.2016 00:00
Как сделать чтобы время тоже проставлялось?

#9 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 05 Июль 2016 - 16:04

Цитата

Поле Дата имеет формат дата\время без указания времени

Тем не менее внутренний формат хранения поля (а именно он лежит в $line), выглядит в таком случае как "2016-05-07 00:00:00", поэтому простая прибавка справа ничего не меняет. Вначале нужно обрезать "00:00:00" и затем добавить "09:00:00".

#10 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 06 Июль 2016 - 10:29

Просмотр сообщенияCbCoder (05 Июль 2016 - 16:04) писал:

Тем не менее внутренний формат хранения поля (а именно он лежит в $line), выглядит в таком случае как "2016-05-07 00:00:00", поэтому простая прибавка справа ничего не меняет. Вначале нужно обрезать "00:00:00" и затем добавить "09:00:00".
Как именно нужно обрезать "00:00:00" ?

#11 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 06 Июль 2016 - 11:00

Просмотр сообщенияf-jeka (06 Июль 2016 - 10:29) писал:

Как именно нужно обрезать "00:00:00" ?

С помощью substr например.

#12 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 07 Июль 2016 - 01:34

Спасибо! Получилось!
Если кому нужно, то вычисление выглядит так
$line['Приезд'] = substr($line['Дата'],0,-8)."09:00";





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных