Функции для работы с датами
Одна из особенностей работы с типом даты, состоит в том, что тип даты существует в двух видах: в виде объекта JavaScript и в виде объекта Java
(java.util.Date).JavaScript позволяет делать вычисления над датой, указанной в виде объекта. При взаимодействии с не JavaScript объектами (полями таблиц, объектами ввода), используются объекты Java. Преобразование из одного вида в другой осуществляется так:
- jsDate = new Date(javaDate); // Преобразование в объект
- javaDate = jsDate.getVarDate(); // Преобразование в java.util.Date
Приведенные ниже функции преобразования даты работают независимо от вида передаваемой
в них даты.
Глобальные функции
date(<день>,<месяц>,<год>)
Вернуть дату. Можно использовать один, два или три параметра. Нумерация месяцев: 1 - январь, ...12 - декабрь.
- Пример:
- date(27) возвращает объект-дату 27 число текущего месяца и года: 27 апреля 2010
- date(27,5) возвращает объект-дату 27 мая текущего года: 27 мая 2010
- date(27,5,2011) возвращает объект-дату 27 мая 2011: 27 мая 2011
jan01(<дата>)
Вернуть дату первого января указанного года.
- Пример:
- jan01(date(11,2,2010)) возвращает объект-дату 1 января 2010
firstDay(<дата>)
Вернуть дату первого числа указанного месяца.
- Пример:
- firstDay(date(11,2,2010)) возвращает объект-дату 1 февраля 2010
lastDay(<дата>)
Вернуть дату последнего числа указанного месяца.
- Пример:
- lastDay(date(1,3,2010)) возвращает объект-дату 31 марта 2010
firstDayMonth(<дата>)
Вернуть дату первого дня месяца.
- Пример:
- firstDayMonth(date(11,3,2010)) возвращает объект-дату 1 марта 2010
lastDayMonth(<дата>)
Вернуть дату последнего дня месяца.
- Пример:
- lastDayMonth(date(11,3,2010)) возвращает объект-дату 31 марта 2010
goDay(<дата>,<смещение>)
Вернуть дату, смещенную от указанной на определенное количество дней.
- Пример:
- goDay(date(23,7,2010),2) возвращает объект-дату 25 июля 2010
- goDay(date(23,7,2010),-2) возвращает объект-дату21 июля 2010
goMonth(<дата>,<смещение>)
Вернуть дату, смещенную от указанной на определенное количество месяцев.
- Пример:
- goMonth(date(23,7,2010),2) возвращает объект-дату 23 сентября 2010
- goMonth(date(23,7,2010),-2) возвращает объект-дату 23 мая 2010
quarter_begin(<дата>)
Начало квартала.
- Пример:
- quarter_begin(date(23,8,2010)) возвращает объект-дату 1 июля 2010
quarter_end(<дата>)
Конец квартала.
- Пример:
- quarter_begin(date(23,8,2010)) возвращает объект-дату 30 сентября 2010
currentdate(<дата>)
Текущая дата и время.
- Пример:
- currentdate()) возвращает объект-дату Tue Apr 27 15:45:13 EEST 2010
day_difference(<дата1>,<дата2>)
По двум переданным датам-объектам возвращает разницу между ними в днях.
- Пример:
- day_difference(date(1,8,2010),date(4,9,2010)) возвращает значение 35 (дней)
day_differencemin(<дата1>,<дата2>)
По двум переданным датам-объектам возвращает разницу между ними в минутах.
- Пример:
- day_differencemin(date(1,8,2010),date(1,9,2010)) возвращает значение 44640 (минут)
month_difference(<дата1>,<дата2>)
По двум переданным датам-объектам возвращает разницу между ними в месяцах.
- Пример:
- month_difference(date(1,2,2010),date(1,8,2010)) возвращает значение 7
tmonth(month, cFormat)
Возвращает название месяца в нужном падеже. Месяц можно задавать как по номеру месяца, так и датой.
- Пример:
- tmonth(12, 1) - ''Декабрь''; tmonth(12, 2) - ''декабря''; tmonth(12, 4) - ''декабре''
dtoc(<дата>)
Преобразует дату в строку.
- Пример:
- dtoc(date(11,2,2010)) возвращает строку "11.02.2010"
getDaysInMonth(<дата>)
По переданному объекту-дате возвращает количество дней в месяце.
- Пример:
- getDaysInMonth(date(1,2,2010)) возвращает значение 28 (дней)
getDayAsWeekName(<дата>)
По переданному объекту-дате возвращает день недели.
- Пример:
- getDayAsWeekName(date(6,4,2010)) возвращает "Вторник"
getShortNameVsDate(<дата>)
По переданному объекту-дате возвращает день недели (сокращенное название).
- Пример:
- getShortNameVsDate(date(6,4,2010)) возвращает "Вт"
getTimeAsString(<дата>)
По переданому объекту-дате возвращает строку "час : минута".
- Пример:
-
getTimeAsString(new Date()) возвращает значение 10:15 (текущее время)
setTime(<дата>,<часы>,<минуты>,<секунды>)
Для переданного объекта-даты устанавливает необходимое время.
- Пример:
- setTime(date(7,4,2010),21,50,19) возвращает объект-дату 7 апреля 2010 21:50:19
strToDate(<строка>)
Преобразует строку вида 01.01.2001 в дату.
- Пример:
- strToDate('01.02.2010') возвращает объект-дату 1 февраля 2010
strToDateFormat(str,format)
Преобразует строку в дату по указанному формату.
- Пример:
- strToDateFormat('10/04/07','yy/mm/dd') возвращает объект-дату
day(<дата>)
Получить по дате число.
- Пример:
- day(date(23,7,2010)) возвращает объект-дату 23
month(<дата>)
Получить по дате месяц.
- Пример:
- month(date(23,7,2010)) возвращает объект-дату 7
year(<дата>)
Получить по дате год.
- Пример:
- year(date(23,7,2010)) возвращает объект-дату 2010
tperiod(<режим>,<дата 1>, <дата 2>)
Возвращает описание периода <режим> = '' '' – полный формат вывода периода <режим> = ''s'' – без года.
- Примеры:
- tperiod('''',date(1,1,2002), date(31,2,2002)) == ''1-й квартал 2002 года''
- tperiod('''',date(1,6,2002), date(31,12,2002)) == ''2-й квартал 2002 года''
- tperiod('''',date(1,1,2002), date(30,9,2002)) == ''9 месяцев 2002 года''
- tperiod('''',date(1,1,2002), date(31,12,2002)) == ''2002 год''
- tperiod('''',date(2,3,2002), date(15,9,2002)) == ''2 марта – 15 сентября 2002 года''
- tperiod('''',date(2,3,2001), date(15,9,2002)) == ''2 марта 2001 года – 15 сентября 2002 года''
- tperiod(''s'',date(1,1,2002), date(31,2,2002)) == ''1-й квартал''
d00ToNull(<дата>)
Для пустой даты (01.01.3000) возвращает null.
- Пример:
- d00ToNull('01.01.3000') возвращает null
getBaseMonth(<дни>)
Находит базовый месяц расчета з/п.
- Пример:
- при today = (7,4, 2010) выражение getBaseMonth(30) вернет объект-дату март 2010 (от текущей даты отнимается указанное количество дней).
Функции объекта "Date" (Дата)
between(min,max)
Проверка попадания текущей даты в заданный диапазон дат.
- Пример:
- var dat = new Date(2010, 3, 8)
- var dat1 = new Date(2010, 2, 8)
- var dat2 = new Date(2010, 4, 8)
- dat.between(dat1,dat2) возвращает "true"
getDate()
Получить по дате число (с 1 до 31).
- Пример:
- var dat = new Date(2010, 3, 28)
- dat.getDate() возвращает 28
getMonth()
Получить месяц (с 0 до 11).
- Пример:
- var dat = new Date(2010, 4, 8)
- dat.getMonth() возвращает 4. Нумерация месяцев: "январь" - 0, ... "декабрь" - 11
getDay()
Получить день недели (с 0 до 6).
- Пример:
- var dat = new Date(2010, 4, 8)
- dat.getDay() возвращает 6. Нумерация дней недели: "воскресенье" - 0, ..., "суббота" - 6
getFullYear()
Получить год (четыре знака).
- Пример:
- var dat = new Date(2010, 4, 8)
- dat.getFullYear() возвращает 2010
getHours()
Получить время в часах (с 0 до 23).
- Пример:
- var dat = new Date()
- dat.getHours() возвращает значение 16 часов (текущее время)
getMinutes()
Получить время в минутах (с 0 до 59).
- Пример:
- var dat = new Date()
- dat.Minutes() возвращает значение 51 минут (текущее время)
getSeconds()
Получить время в секундах (с 0 до 59).
- Пример:
- var dat = new Date()
- dat.getSeconds() возвращает значение 42 секунд(текущее время)
getMilliseconds()
Получить миллисекунды. (с 0 до 999).
- Пример:
- var dat = new Date()
- dat.getMilliseconds() возвращает значение 640 миллисекунд(текущее время)
getTime()
Получить время в миллисекундах, начиная с 1 января 1970.
- Пример:
- var dat = new Date()
- dat.getTime() возвращает значение 1270735410437 миллисекунд
getYear()
Получить количество лет, начиная с 1900г.
- Пример:
- var dat = new Date(2010, 2, 8)
- dat.getYear() возвращает значение 110
setDate()
Установить число месяца (от 1-31).
- Пример:
- var dat = new Date()
- dat.setDate(25) меняет число в объекте dat на 25
setDay()
Установить день недели (с 0 до 6).
- Пример:
- var dat = new Date()
- dat.setDay(2) меняет день недели в объекте dat на 2 (вторник)
setFullYear()
Установить год (четыре знака).
- Пример:
- var dat = new Date()
- dat.FullYear(2009) меняет год в объекте dat на 2009
setHours()
Установить часы (с 0 до 23).
- Пример:
- var dat = new Date()
- dat.setHours(15) меняет часы в объекте dat на 15
setMilliseconds()
Установить миллисекунды (с 0 до 999).
- Пример:
- var dat = new Date()
- dat.setMilliseconds(100) меняет миллисекунды в объекте dat на 100
setMinutes()
Установить минуты (с 0 до 59).
- Пример:
- var dat = new Date()
- dat.setMinutes(36) меняет секунды в объекте dat на 36
setMonth()
Установить месяц (с 0 до 11).
- Пример:
- var dat = new Date()
- dat.setMonth(8) меняет месяц в объекте dat на 8 (сентябрь)
setSeconds()
Установить секунды (с 0 до 59).
- Пример:
- var dat = new Date()
- dat.setSeconds(31) меняет секунды в объекте dat на 31
setTime()
Установить дату и время, начиная с 1января 1970.
- Пример:
- var dat = new Date(5645683497609)
- dat.setTime(31) меняет дату и время в миллисекундах в объекте dat на 5645683497609
setYear()
Установить год (с 1900г).
- Пример:
- var dat = new Date(5645683497609)
- dat.setYear(100) меняет год в объекте dat на 2000
Свойства объекта "Date" (Дата)
Свойства объекта позволяют возвращать и устанавливать необходимую дату и время.
date
Получить или установить день месяца (с 1 до 31)).
- Пример:
- var dat = new Date(2010, 4, 9)
- dat.date возвращает число месяца 9
- dat.date=13 меняет число в объекте dat на 13
month
Получить или установить месяц (с 0 до 11)).
- Пример:
- var dat = new Date(2010, 2, 8)
- dat.month возвращает месяц 2
- dat.month=3 меняет месяц в объекте dat на 3
year
Получить или установить год.
- Пример:
- var dat = new Date(2010, 2, 8)
- dat.year возвращает год 2010
- dat.year=2011 меняет год в объекте dat на 2011
time
Получить или установить время в миллисекундах, начиная с 1 января 1970.
- Пример:
- var dat = new Date()
- dat.time возвращает 1270735410437 миллисекунд
- dat.time=1470735410015 меняет дату и время в объекте dat на 1470735410015
hours
Получить или установить часы (с 0 до 23).
- Пример:
- var dat = new Date()
- dat.hours возвращает часы 16
- dat.hours=17 меняет часы в объекте dat на 17
minutes
Получить или установить минуты (с 0 до 59).
- Пример:
- var dat = new Date()
- dat.minutes возвращает минуты 46
- dat.minutes=47 меняет минуты в объекте dat на 47
seconds
Получить или установить секунды (с 0 до 59).
- Пример:
- var dat = new Date()
- dat.minutes возвращает секунды 22
- dat.minutes=43 меняет секунды в объекте dat на 43
Смотри также: