Функции установки компонент даты и времени

Для получения компонент местных даты и времени объекта Date используются функции setFullYear(), setMonth(), setDate(), setHours(), setMinutes(), setSeconds() и setMilliSeconds().

Функция

setFullYear(год, номер-месяца, число-месяца)

устанавливает для объекта Date в параметре год числовое значение года, в параметре номер-месяца – значение номера месяца (от 0 – январь до 11 – декабрь) и в параметре число-месяца – значение числа в месяце (от 1 до 31). Параметры номер-месяца и число-месяца являются необязательными. Если они не заданы, используются текущие значения номера месяца и дня месяца в объекте Date. Если заданы неверные значения номера месяца и числа месяца, функция пытается привести эти величины к допустимым значениям. Так, если для номера месяца задано значение 12, то предполагается, что эта цифра соответствует январю следующего года, т. е. значение номера месяца станет равно 0, а заданное значение года увеличится на 1. Аналогично, если для июня (значение номера для этого месяца равно 5) задано число 31, а количество дней в июне равно 30, то номер месяца увеличится на 1 (июль), а число станет равным 1.

Функция

setMonth(номер-месяца, число-месяца)

устанавливает для объекта Date в параметре номер-месяца – значение номера месяца (от 0 – январь до 11 – декабрь) и в параметре – значение числа в месяце (от 1 до 31). Параметр число-месяца является необязательными. Если он не заданы, используются текущее значение дня месяца в объекте Date. Если заданы неверные значения номера месяца и числа месяца, функция пытается привести эти величины к допустимым значениям, аналогично алгоритму, приведенному для функции setFullYear().

Функция

setHours(часы, минуты, секунды, миллисекунды)

устанавливает для объекта Date в параметре часы числовое значение часа (от 0 до 23), в параметре минуты – числовое значение минуты (от 0 до 60), в параметре секунды – числовое значение секунды (от 0 до 60) и в параметре миллисекунды – числовое значение количества миллисекунд (от 0 до 999). Параметры минуты, секунды и миллисекунды являются необязательными. Если они не заданы, используются текущие значения минут, секунд и миллисекунд в объекте Date. Если для какого-либо параметра заданы неверные значения (вне диапазона допустимых величин), для изменения значений используется тот же алгоритм, что и для функции setFullYear(). Так, если для секунд задано значение 65, то параметр минуты примет значение, на 1 больше заданного, а количество секунд станет равным 5.

Функция

setMinutes(минуты, секунды, миллисекунды)

устанавливает для объекта Date в параметре минуты числовое значение минуты (от 0 до 60), в параметре секунды – числовое значение секунды (от 0 до 60) и в параметре миллисекунды – числовое значение количества миллисекунд (от 0 до 999). Параметры секунды и миллисекунды являются необязательными. Если они не заданы, используются текущие значения секунд и миллисекунд в объекте Date. Если для какого-либо параметра заданы неверные значения (вне диапазона допустимых величин), для изменения значений используется тот же алгоритм, что и для функции setFullYear().

Функция

setSeconds(секунды, миллисекунды)

устанавливает для объекта Date в параметре секунды числовое значение секунды (от 0 до 60) и в параметре миллисекунды – числовое значение количества миллисекунд (от 0 до 999). Параметр миллисекунды является необязательным. Если он не задан, используется текущее значение миллисекунд в объекте Date. Если для какого-либо параметра заданы неверные значения (вне диапазона допустимых величин), для изменения значений используется тот же алгоритм, что и для функции setFullYear().

Функция

setMilliseconds(миллисекунды)

устанавливает для объекта Date в параметре миллисекунды – числовое значение количества миллисекунд (от 0 до 999). Параметр миллисекунды является необязательным. Если для миллисекунд задано неверное значение (вне диапазона допустимых величин), для изменения значений используется тот же алгоритм, что и для функции setFullYear().

Функция

setTime(внутреннее-время)

устанавливает для объекта Date значение как внутреннее время в миллисекундах с 1 января 1970 года.

Функции setUTCFullYear(), setUTCMonth(), setUTCDate(), setUTCHours(), setUTCMinutes(), setUTCSeconds() и setUTCMilliSeconds() действуют аналогично приведенным выше функциям, но для установки компонентов времени UTC.

Пример 4.4.55. Использование функций установки компонент даты и времени объекта Date:

// Массив наименований месяцев

monthName = ["января", "февраля", "марта", "апреля",

"мая", "июня", "июля", "августа", "сентября",

"октября", "ноября", "декабря"];

// Определение текущей даты

currentDate = new Date();

// Определение начального значения назначенной даты

targetDate = new Date();

// Ввод значения месяца для назначенной даты

targetMonthString =

prompt("Введите номер месяца (1-12):", "");

// Перевод значения номера месяца в число

targetMonth = parseInt(targetMonthString);

// Ввод значения дня в месяце

// для назначенной даты

targetDayString =

prompt("Введите день в месяце (1-31):", "1");

// Перевод значения дня месяца в число

targetDay = parseInt(targetDayString);

// Установка значения месяца и дня в месяце

// для назначенной даты

targetDate.setMonth(targetMonth-1,targetDay);

// Преобразование текущей даты во внутреннее время

currentInnerTime = currentDate.getTime();

// Преобразование назначенной даты во внутреннее время

targetInnerTime = targetDate.getTime();

// Определение количества дней между

// текущей датой и назначенной датой

dayNumber =

Math.floor((currentInnerTime - targetInnerTime)/86400000);

// Если назначенная дата еще не наступила

if(dayNumber < 0)

// Вывод сообщения

alert("До " + targetDay + " " +

monthName[targetMonth-1] +

" осталось дней: " + Math.abs(dayNumber));

else

// Вывод сообщения

alert("С " + targetDay + " " +

monthName[targetMonth-1] +

" прошло дней: " + dayNumber);

В этом фрагменте сценария определяется (без контроля вводимых данных), сколько прошло дней или сколько осталось дней с текущей даты до назначенной даты в этом же году.

Пример вывода этого фрагмента приведен ниже:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: