www.seomark.ru
Обзоры интересных и полезных программ, фотография, радио, веб-дизайн и т.д. и т.п. и др. и пр.

Веб-дизайн и поисковая оптимизация

Логотип Софт

Дата на сайте

Cоздание скрипта даты и вставка его на HTML-страницу

В предыдущих статьях было рассмотрено создание формы обратной связи и проверка её заполнения посетителем сайта. Еще одна полезная для сайтов вещь - вставка текущей даты. Примеров скриптов даты можно найти в интернете десятки, однако многие из них, на мой взгляд, тяжеловесны и, следовательно, некрасивы. Между тем, используя стандартные средства JavaScript, вставить дату на страницу сайта можно очень просто.

Вот весь скрипт даты:

<script language="javascript" type="text/javascript"><!--
var d = new Date();

var day=new Array("Воскресенье","Понедельник","Вторник",
"Среда","Четверг","Пятница","Суббота");

var month=new Array("января","февраля","марта","апреля","мая","июня",
"июля","августа","сентября","октября","ноября","декабря");

document.write(day[d.getDay()]+" " +d.getDate()+ " " + month[d.getMonth()]
+ " " + d.getFullYear() + " г.");
//--></script>

По-моему, проще некуда, достаточно красиво и понятно. Если у вас нет никакого желания изучать построение этого скрипта, то просто вставляйте его в любое место HTML-страницы и получите следующую надпись:  .

Естественно, вы можете оформлять шрифт выводимой надписи обычными средствами HTML. В данном случае использован жирный красный шрифт.

Описанный способ удобен, например, для автоматического ежегодного изменения строки Copyright © 2008 - на сайте, если, конечно, такая строчка там присутствует.

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

Теперь для любознательных, а также любящих смотреть в корень, разберём составляющие нашего скрипта вывода даты. Это полезно не только для чувства глубокого внутреннего удовлетворения, но и позволит вам задавать необходимую форму вывода даты.

Объект Date возвращает, то есть считывает с компьютера, информацию о текущей дате. Хотя значения даты возвращаются в стандартной форме, фактическое значение хранится как количество миллисекунд, прошедших после полуночи 1 января 1970 года. Применение этого соглашения запрещает использование дат до 1970 года. (Всегда удивляюсь, как изощрённо программисты умудряются запудрить мозги нормальному человеку. Вспомните страшилки, которыми нас пугали при переходе к новому 2000 году!)

Итак, начинаем с присвоения значения даты переменной d, затем создаём массивы (Array) для дней недели (day) и месяцев (month), указывая их в необходимой грамматической форме: падеж, число, заглавная буква, если слово стоит в начале даты и т.п. Последняя строчка скрипта - собственно печать даты (document.write). Здесь вы устанавливаете, что и в какой последовательности будете выводить в строке текущей даты. Компоненты отделяются друг от друга знаком +. Для ввода пробела используется конструкция " ", а для ввода буквы г (год) - конструкция "  г."

Как видно из скрипта, получение данных о текущем времени выполняет элемент get. Этот метод позволяет получить следующую информацию:

  • getDate() - возвращает число от 1 до 31, представляющее число месяца;
  • getDay() - возвращает день недели как целое число от 0 (воскресенье) до 6 (суббота);
  • getMonth() - возвращает номер месяца в году;
  • getFullYear() - возвращает год. Если использовать просто getYear(), то будет выводиться текущий год минус 1900;
  • get Hours() - возвращает час суток;
  • getMinutes() - возвращает минуты как число от 0 до 59;
  • getSeconds() - возвращает число секунд от 0 до 59.

Вставлять непосредственно Java-скрипт внутрь страницы сайта не всегда удобно. Лучше поместить описание скрипта в начало страницы между тегами <head></head> и задать переменную, которую будем вызывать по мере необходимости в тексте. Назовём её TODAY и определим в ней форму вывода даты аналогично вышеизложенному. Скрипт будет выглядеть следующим образом:
<script language="javascript" type="text/javascript">
<!--

var d = new Date();
var day=new Array("Воскресенье","Понедельник","Вторник",
"Среда","Четверг","Пятница","Суббота");
var month=new Array("января","февраля","марта","апреля","мая","июня",
"июля","августа","сентября","октября","ноября","декабря");
var TODAY = day[d.getDay()] +" " +d.getDate()+ " " + month[d.getMonth()]
+ " " + d.getFullYear() + " г.";
//--></script>

Для вывода даты вызываем скрипт в нужном месте HTML-кода страницы, используя следующую команду:
<script language="javascript" type="text/javascript">
document.write(TODAY);
</script>

Если ваш сайт содержит много страниц, на которых надо показывать дату, то удобнее выделить Java-скрипт вывода даты в отдельный файл, например, data.js. Практически, это страница, состоящая из первого из описанных скриптов, то есть со строкой document.write (см. выше). Располагать её надо в том же каталоге, что и основная страница, и вызывать в месте вывода даты следующим образом:
<script language="javascript" type="text/javascript" src="data.js" >
</script>.

Не забудьте проверить, чтобы файл data.js имел ту же кодировку, что и основной документ, иначе дата будет выводиться замечательными крючками, квадратиками и прочими финтифлюшками. Если вы используете программу Adobe Dreamweaver, то для этого надо выбрать раздел Редактировать - Установки...- Создать документ - Java Script - Кодировка по умолчанию. Также сменить кодировку скрипта можно в Microsoft Word. Для этого откройте документ, задайте нужную кодировку, если он выводится неверно (как это сделать, смотрите в "Справке Word"), а затем сохраните его следующим путем: Файл - Сохранить как - Обычный текст - Сохранить. В открывшемся окне вы можете задать необходимую кодировку.

Замечание. Следует иметь ввиду, что описанный скрипт выводит дату, установленную на компьютере пользователя, что не всегда соответствует реальному текущему времени. Если вам необходимо показать точное время, то необходимо использовать РНР-скрипт, который будет показывать время на сервере. Об этом способе вывода даты на сайте, а также о добавлении даты в письма с формы обратной связи расмотрим в следующей статье.

И последнее - для особо ленивых. Если описанный способ вставки даты покажется вам сложным, то, как говорилось в начале статьи, вы можете воспользоваться готовыми формами, предлагаемыми в интернете, например, информерами Яндекса. Для их размещения на сайте выбираете нужный раздел (пробки, время, погода или новости), понравившийся дизайн информера, задаете город и получаете код для вставки. Два вида таких информеров даты показаны на примере внизу:

4.01.2010 г.

Задать вопрос автору






Яндекс.Метрика

Copyright © 2008 - Марк Розенталь e-mail: Мой e-mail
Перепечатка материалов сайта разрешается при условии сохранения имени автора и гиперссылки на www.seomark.ru
Ключевые слова: дата на сайте, создание скрипта даты, дата и время на сайте, скрипт даты, скрипт текущей даты