Среда, 08.01.2025, 20:20
Главная Регистрация RSS поиск
Приветствую Вас, Гость
Меню сайта
Категории раздела
HTML [44]
Visual C++ и MFC [21]
c++ [78]
php [19]
Javascript [15]
C# [51]
загрузки [0]
XNA [10]
создание игр с помощью xna
Наш опрос
Каким языком программирования вы увлекаетесь
Всего ответов: 2420
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
Главная » Статьи » Javascript

Урок 11
В JavaScript дата определяется количеством миллисекунд, прошедших с 1 января 1970 года.

Для работы с датой и временем применяется встроенный объект Date. Этот объект не имеет свойств, но обладает несколькими методами, позволяющими устанавливать и изменять дату и время.

Объект Date создается с помощью оператороа new и конструктора - Date.

Например:

var myData=new Date();

значением переменной myData будет текущая дата и время:
Tue Feb 07 2012 17:47:37 GMT+0200




Методами объекта Date можно получать отдельно значения месяца, дня недели, часов, минут и секунд:

getDate - возвращает число в диапазоне от 1 до 31, представляющее число месяца.


getHours - возвращает час суток в диапазоне от 0 (полночь) до 23.


getMinutes - возвращает минуты в диапазоне от 0 до 59.


getSeconds - возвращает секунды в диапазоне от 0 до 59.


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

Код 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:

getDay - возвращает день недели, как целое число от 0 (воскресенье) до 6 (суббота).


getMonth - возвращает номер месяца в году, как целое число от 0 (январь) до 11 (декабрь).


getYear - возвращает год в виде двух последних цифр (getFullYear - возвращает год в виде четырех цифр).

* К сожалению, начиная с 2000 года, есть проблема с отображением года в разных браузерах. Метод getYear в IE отображает полный год (вместо двух последних цифр), а FireFox вместо XX отображает 1XX (т.е. подставляет 1). Поэтому предпочтительнее использовать метод getFullYear.


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

Код 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;
}

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



Рассмотренные выше методы позволяют получать дату. Если же нам потребуется установить дату, то следует использовать следующие методы:

setDate - устанавливает число месяца в диапазоне от 1 до 31.


setHours - устанавливает час для текущего времени в диапазоне от 0 (полночь) до 23.


setMinutes - устанавливает минуты в диапазоне от 0 до 59.


setSeconds - устанавливает секунды в диапазоне от 0 до 59.


setYear - устанавливает значение года.


setMonth - устанавливает значение месяца в диапазоне от 0 (январь) до 11 (декабрь).


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


Так, если нам потребуется задать дату 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 год отображать не хочет, поэтому лучше эти варианты не использовать.

Вот собственно и все, вы вполне готовы самостоятельно написать сценарий, который при загрузке страницы отобразит дату, время и день ее посещения (в нормальном русском виде). Удачи!
Категория: Javascript | Добавил: SLOT85 (07.02.2012)
Просмотров: 1023 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]