Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
JavaScript - Урок 11. Дата, представление и обработка
В JavaScript дата определяется количеством миллисекунд, прошедших с 1 января 1970 года. Для работы с датой и временем применяется встроенный объект Date. Этот объект не имеет свойств, но обладает несколькими методами, позволяющими устанавливать и изменять дату и время. Объект Date создается с помощью оператороа new и конструктора - Date. Например: var myData=new Date();значением переменной myData будет текущая дата и время: Sun Feb 12 2017 18: 26: 43 GMT+0300 (RTZ 2 (зима))
Методами объекта Date можно получать отдельно значения месяца, дня недели, часов, минут и секунд:
Предположим, мы хотим написать сценарий, который будет определять текущее время и выводить его в формате " чч: мм: сс". Код html-страницы будет простой: < html> < head> < title> javascript дата< /title> < link rel=" stylesheet" type=" text/css" href=" style.css" > < script type=" text/javascript" src=" script.js" > < /script> < /head> < body> < form name=" forma8" > < input type=" button" value=" Время" onClick=" nTime(forma8); " > < input type=" text" size=" 10" name=" res" > < /form> < /body> < /html>Теперь напишем саму функцию nTime(): function nTime(obj) { var t=new Date(); var h=t.getHours(); var m=t.getMinutes(); var s=t.getSeconds(); var result=h+": " +m+": " +s; obj.res.value=result; }* как вы помните методы отделяются от объекта точкой, об этом мы говорили в уроке 3 * Как видите, все просто. Сначала определяем текущее время, а потом с помощью методов извлекаем из него отдельные значения часов, минут и секунд.
Здесь еще хочется пояснить строку var result=h+": " +m+": " +s. Впервые мы столкнулись с необходимостью выводить в результат, как значения переменных, так и простой текст. В принципе ничего сложного: переменные пишутся как есть, текст берется в кавычки, а знак + осуществляет операцию конкатенации, т.е. их объединения. В нашем примере остался один недочет, мы хотели, чтобы время выводилось в формате " чч: мм: сс", а сейчас оно выводится в формате " ч: м: с". Т.е., в 5 утра, время будет отображаться как " 5: 0: 0", а хотелось бы так: " 05: 00: 00" (что более привычно). В качестве домашнего задания можете попробовать это исправить. Например, с помощью оператора if и строкового литерала " 0" (идея проста: если часов меньше 10, то в результат перед h написать " 0" и так со всеми переменными). А пока продолжим изучать методы объекта Date:
Давайте напишем сценарий, который будет определять текущую дату и выводить ее в формате " число месяц год". Код html-страницы будет простой: < html> < head> < title> javascript дата< /title> < link rel=" stylesheet" type=" text/css" href=" style.css" > < script type=" text/javascript" src=" script.js" > < /script> < /head> < body> < form name=" forma9" > < input type=" button" value=" Дата" onClick=" tData(forma9); " > < input type=" text" size=" 20" name=" res" > < /form> < /body> < /html>Теперь напишем саму функцию tData(): function tData(obj) { var s; var t=new Date(); var y=t.getFullYear(); var d=t.getDate(); var mon=t.getMonth(); switch (mon) { case 0: s=" января"; break; case 1: s=" февраля"; break; case 2: s=" марта"; break; case 3: s=" апреля"; break; case 4: s=" мае"; break; case 5: s=" июня"; break; case 6: s=" июля"; break; case 7: s=" августа"; break; case 8: s=" сентября"; break; case 9: s=" октября"; break; case 10: s=" ноября"; break; case 11: s=" декабря"; break; } var result=d+" " +s+" " +y; obj.res.value=result; }Получилось подлиннее, чем в первом примере, т.к. приходится переводить на русский язык названия месяцев.
Рассмотренные выше методы позволяют получать дату. Если же нам потребуется установить дату, то следует использовать следующие методы:
Так, если нам потребуется задать дату 06 декабря 2010 года, в функции мы будем иметь следующий код: ... var t=new Date(); var y=t.setYear(2010); var d=t.setDate(6); var mon=t.setMonth(11); ...Задать дату можно прямо в конструкторе, указав в качестве параметра строку формата " месяц, день, год часы: минуты: секунды": var t=new Date(" Feb, 10, 1975 17: 45: 10" );Значение часов, минут и секунд можно опустить (они будут равны нулю): var t=new Date(" Feb, 10, 1975" );Эту же дату можно задать с помощью чисел, перечислив через запятую год, месяц, число, часы, минуты, секунды: var t=new Date(75, 1, 10, 17, 45, 10);Или же, опуская часы, минуты и секунды (они будут равны нулю): var t=new Date(75, 1, 10);* Есть проблема: IE год отображать не хочет, поэтому лучше эти варианты не использовать. |
Последнее изменение этой страницы: 2019-06-08; Просмотров: 34; Нарушение авторского права страницы