→ Javascript время в миллисекундах. JavaScript Получить текущее время и дату. Преобразование текущего времени и даты в удобочитаемую строку

Javascript время в миллисекундах. JavaScript Получить текущее время и дату. Преобразование текущего времени и даты в удобочитаемую строку

На этом уроке мы познакомимся с объектом Date языка JavaScript и научимся его использовать на практике.

Объект Date

Объект Date представляет собой точку на оси времени и предназначен для хранения даты и времени с точностью до миллисекунды.

Объект Date можно создавать различными способами:

  • Без параметров (хранит дату и время, которая была в момент создания объекта на локальном компьютере); var newDate = new Date(); alert(newDate);
  • С одним числовым параметром, в этом случае дата и время задаётся как количество миллисекунд, прошедших с 1 января 1970 00:00:00 UTC; // 1 год ≈ 365*24*60*60*1000 ≈ 31536000000 мс var date1 = new Date(31536000000); alert(date1);
  • С одним строковым параметром, в этом случае JavaScript пытается разобрать строку с помощью метода Date.parse , т.е. преобразовать в дату. // YYYY-MM-DDThh:mm:ss.sss //Для разделения даты и времени используется символ T var str = "2015-02-24T21:23"; var date2 = new Date(str); alert(date2); //Также можно указать часовой пояс +hh:mm или -hh:mm var str1 = "2015-02-24T22:02+03:00"; var date2 = new Date(str1); alert(date2);
  • Используя множество параметров перечисленных через запятую: год (4 цифры), месяц (отсчёт ведётся с 0), день (1..31), часы (0..23), минуты (0..59), секунды (0..59), миллисекунды (0..999). Причём обязательными являются только первых 2 параметра. //1 пример: только обязательные параметры //неуказанные параметры равны: число - 01, часы - 00, минуты - 00, секунды - 00, миллисекунды - 000. var date3 = new Date(2015,01); alert(date3); //2 пример //неуказанные параметры равны: секунды - 00, миллисекунды - 000. var date4 = new Date(2015,01,24,21,23); alert(date4);
  • Примечание: Если Вам необходимо установить дату и время в UTC, то можете воспользоваться методом Date.UTC:

    //1 пример var date1 = Date.UTC(2015,1,1); var date2 = new Date(date1); alert(date2.toUTCString()); //2 пример var newDate = new Date(Date.UTC(2015,1,1)); alert(newDate.toUTCString());

    Методы объекта Date

    Методы объекта Date можно разделить на следующие категории:

    • для получения отдельных компонентов даты и времени (начинаются методы с глагола get);
    • для установления даты и времени (начинаются методы с глагола set);
    • для преобразования даты в строку (начинаются методы с to);
    • для преобразования строки в дату: метод Date.parse .
    Методы для получения отдельных компонентов объекта Date
    • Методы объекта Date для получения отдельных компонентов даты и времени в местном часовом поясе:
      • getFullYear() - метод, который возвращает год, состоящий из 4 чисел;
      • getMonth() - метод, который возвращает месяц в числовом формате: 0..11 (0 - январь, 1-февраль, 2 март, ...,11 - декабрь).
      • getDate() - метод, который возвращает число месяца: 1..31;
      • getHours() - метод, который возвращает количество часов: 0..23;
      • getMinutes() - метод, который возвращает количество минут: 0..59;
      • getSeconds() - метод, который возвращает количество секунд: 0..59;
      • getMilliseconds() - метод, который возвращает количество миллисекунд: 0..999;
      var newDate = new Date (2015,01,25,17,54,34,178); document.write("---Дата---" + "
      "); document.write("Год: " + newDate.getFullYear() + "
      "); document.write("Месяц: " + newDate.getMonth() + "
      "); document.write("Число: " + newDate.getDate() + "
      "); document.write("---Время---" + "
      "); document.write("Часы: " + newDate.getHours() + "
      "); document.write("Минуты: " + newDate.getMinutes() + "
      "); document.write("Секунды: " + newDate.getSeconds() + "
      "); document.write("Миллисекунды: " + newDate.getMilliseconds() + "
      ");
    • Методы объекта Date для получения отдельных компонентов даты и времени в UTC: getUTCFullYear() , getUTCMonth() , getUTCDate() , getUTCHours() , getUTCMinutes() , getUTCSeconds() , getMilliseconds() . Данные методы аналогичны предыдущим методам, за исключением того что они возвращают дату и время в UTC.
    • Метод getTime() . Он предназначен для возвращения количества миллисекунд, прошедших с 01.01.1970 00:00:00 UTC.
    • Метод getTimezoneOffset() . Он предназначен для возвращения разницы в минутах между часовым поясом локального компьютера и UTC.
    Методы для установления отдельных компонентов объекта Date
    • Методы объекта Date для установления отдельных компонентов даты и времени в местном часовом поясе:
      • setFullYear() - метод, который устанавливает год. Кроме этого, данный метод имеет ещё 2 необязательных параметра, с помощью которых Вы можете дополнительно установить месяц и число. var newDate = new Date(); //установить для newDate с помощью метода setFullYear: год - 2014. newDate.setFullYear(2014); //установить для newDate с помощью метода setFullYear: год - 2014, месяц - 08 (сентябрь, т.к. отсчёт ведётся с 0). newDate.setFullYear(2014,08); //установить для newDate с помощью метода setFullYear: год - 2014, месяц - 08 (сентябрь), число - 20. newDate.setFullYear(2014,08,20);
      • setMonth() - метод, который устанавливает месяц в числовом формате: 0..11 (0 - январь, 1-февраль, 2 март, ...,11 - декабрь). Кроме этого, данный метод имеет ещё 1 необязательный параметр, с помощью которого Вы можете дополнительно установить число. var newDate = new Date(); //установить для newDate с помощью метода setMonth: месяц - 05 (июнь). newDate.setMonth(05); //установить для newDate с помощью метода setMonth: месяц - 05 (июнь), число - 15. newDate.setMonth(05,15);
      • setDate() - метод, который устанавливает число. var newDate = new Date(); //установить для newDate с помощью метода setDate: число - 28. newDate.setDate(28);
      • setHours() - метод, который устанавливает количество часов: 0..23. Кроме этого, данный метод имеет ещё 3 необязательных параметра, с помощью которых Вы можете дополнительно установить минуты, секунды и миллисекунды. var newDate = new Date(); //установить для newDate с помощью метода setHours: часы - 13. newDate.setHours(13); //установить для newDate с помощью метода setHours: часы - 13, минуты - 20. newDate.setHours(13,20); //установить для newDate с помощью метода setHours: часы - 13, минуты - 20, секунды - 37. newDate.setHours(13,20,37); //установить для newDate с помощью метода setHours: часы - 13, минуты - 20, секунды - 37, миллисекунды - 230. newDate.setHours(13,20,37,230);
      • setMinutes() - метод, который устанавливает количество минут: 0..59. Кроме этого, данный метод имеет ещё 2 необязательных параметра, с помощью которых Вы можете дополнительно установить секунды и миллисекунды. var newDate = new Date(); //установить для newDate с помощью метода setMinutes: минуты - 37. newDate.setMinutes(37); //установить для newDate с помощью метода setMinutes: минуты - 37, секунды - 12. newDate.setMinutes(37,12); //установить для newDate с помощью метода setMinutes: минуты - 37, секунды - 12, миллисекунды - 710. newDate.setMinutes(37,12,710);
      • setSeconds() - метод, который возвращает количество секунд: 0..59. Кроме этого, данный метод имеет один необязательный параметр, с помощью которого Вы можете дополнительно установить миллисекунды. var newDate = new Date(); //установить для newDate с помощью метода setSeconds: секунды - 40. newDate.setSeconds(40); //установить для newDate с помощью метода setSeconds: секунды - 40, миллисекунды - 105. newDate.setSeconds(40,105);
      • setMilliseconds() - метод, который устанавливает количество миллисекунд: 0..999. var newDate = new Date(); //установить для newDate с помощью метода setMilliseconds: миллисекунды - 318. newDate.setSeconds(318);
    • Методы объекта Date для установления отдельных компонентов даты и времени в UTC: setUTCFullYear() , setUTCMonth() , setUTCDate() , setUTCHours() , setUTCMinutes() , setUTCSecondes() , setUTCMilliseconds() . Данные методы аналогичны предыдущим методам, за исключением того что они устанавливают дату и время в UTC.
    • Метод setTime() . Он предназначен для установления даты и времени посредством сложения или вычитания количества миллисекунд от даты 01.01.1970 00:00:00 UTC.

    Примечание: В JavaScript некорректно установленная дата приводит не к ошибкам, а лишь к тому, что она автоматически распределяется по остальным компонентам объекта Date.
    Например, при установлении даты newDate.setFullYear = new Date(2015,01,40) (т.е. 40.01.2015) ошибки не произойдёт. Число 40 распределится следующим образом: 9 февраля 2015 года (т.к. в январе 31 день, то число будет равно 9 (40-31), а месяц +1).

    //Пример 1: прибавим к дате 7 дней var date1 = new Date(2015,02,26,22,03); date1.setDate(date1.getDate()+7); //Пример 2: отнимем от даты 120 секунд var date2 = new Date(2015,02,26,22,03); date2.setSeconds(date1.getSeconds()-120); //Пример 3: последнее число предыдущего месяца var date3 = new Date(2015,02,26,22,03); date3.setDate(0);

    Преобразования даты в строку

    В JavaScript существует огромное количество методов, предназначенных для перевода даты в строку.

    Первую группу составляют методы, результат которых зависит от используемого браузера. Т.е. формат возвращаемой строки зависит от производителя браузера.

// toString() - возвращает строку, содержащую дату и время // toDateString() - возвращает строку, содержащую дату // toTimeString() - возвращает строку, содержащую время // сохраним в переменную date дату 13.07.2016 22:31:00 var date = new Date(2016,06,13,22,31); // преобразуем дату в строку console.log(date.toString()); //"Wed Jul 13 2016 22:31:00 GMT+1000 (RTZ 9 (зима))" // трансформируем дату в строку, содержащую только дату console.log(date.toDateString()); //"Wed Jul 13 2016" // переведём дату в строку, содержащую только время console.log(toTimeString()); //"22:31:00 GMT+1000 (RTZ 9 (зима))"
  • Методы, которые преобразуют дату в строку с учётом часового пояса и языка локального компьютера.
    • toLocaleString() - возвращает строку, содержащую дату и время;
    • toLocaleDateString() - возвращает строку, содержащую дату;
    • toLocaleTimeString() - возвращает строку, содержащую время.
  • toUTCString() - метод, который возвращает строку, содержащую дату и время в UTC.
  • toISOString() - метод, который возвращает строку, содержащую дату и время в формате ISO (YYYY-MM-DDTHH:mm:ss.sssZ).
var date5 = new Date(); document.write("toString() - " + date5.toString() + "
"); document.write("toDateString() - " + date5.toDateString() + "
"); document.write("toTimeString() - " + date5.toTimeString() + "
"); document.write("toLocaleString() - " + date5.toLocaleString() + "
"); document.write("toLocaleDateString() - " + date5.toLocaleDateString() + "
"); document.write("toLocaleTimeString() - " + date5.toLocaleTimeString() + "
"); document.write("toUTCString() - " + date5.toUTCString() + "
"); document.write("toISOString() - " + date5.toISOString() + "
"); Метод для преобразования строки в дату

JavaScript для преобразования строки в дату использует метод Date.parse() . Этот метод может преобразовать строку, если она выполнена в соответствии со стандартом RFC2822 или ISO 8601.

В этом уроке рассмотрим стандарт ISO 8601, в котором строка должна иметь следующий формат: YYYY-MM-DDThh:mm:ss.sssZ .

  • YYYY – год, состоящий из 4 цифр;
  • MM – месяц, состоящий из 2 цифр (01 = Январь, 02 = Февраль, и т.д.);
  • DD – день месяца, состоящий из 2 цифр (01..31);
  • T – символ для разделения даты и времени;
  • hh – количество часов (00..23);
  • mm - количество минут (00..59);
  • ss - количество секунд (00..59);
  • sss - количество миллисекунд (0..999);
  • Z - символ, который означает, что время задаётся в формате UTC. Если Вам необходимо вместо UTC установить часовой пояс, то букву " Z " следует заменить значением +hh:mm или -hh.mm .

Если строка, содержащая дату и время, задана не в формате RFC2822 или ISO 8601, то метод JavaScript Date.parse() всё равно может выполнить её преобразование, но результат в этом случае могут оказаться непредсказуемым.

Доброго времени суток всем подписчикам и читателям блога сайт. В этой статье мы изучим встроенный объект языка программирования jscript – Date.

Объект JS Date предназначен для работы с датой и временем и для преобразования строк в формат даты. При создании класса Date, jscript использует ключевое слово new и один из трёх видов конструкторов, давайте посмотрим на их общий синтаксис:

Класс JS DATE – дата и время

Date () – в данном случае будет произведен вывод текущей даты и времени js в формате: , время задается по Гринвичу, т. е. с использованием UTC (UCT - Universal Coordinated Time).

Date (nMilliseconds) – Как видим, тут мы передаем один параметр nMilliseconds, который задает дату1 в миллисекундах, считая от 1 января 1970 года

Date (year, month, date [, hours [, min [, sec [, ms]]]]) – Тут мы видим, что конструктору передаются несколько параметров, что позволяет задать вручную все значения даты и времени js:

  • year - Год в четырехзначном формате, например 1998 (но не 98).
  • month - Номер месяца от 0 (январь) до 11 (декабрь).
  • date - Календарная дата1 в диапазоне от 1 до 31.
  • hours - Час дня в диапазоне от 0 до 23.
  • min - Минуты в диапазоне от 0 до 59.
  • sec – Количество секунд в диапазоне от 0 до 59.
  • ms – Число миллисекунд в диапазоне от 0 до 999.

Хорошо, давайте посмотрим на следующий пример использования класса JS DATE в сценарии на языке программирования , который работает под управлением сервера :

// Объект JS Date // 1_date.js //********************************** var a, b, c //Текущая дата1 и время1 a = new Date () ; //js //Период через 1000 мс после 1 января 1970 года b = new Date (1000 ) ; //Собственная временная дата2 c = new Date (2000 , 5 , 20 , 12 , 20 , 55 , 97 ) ; WScript.Echo (a + "\n " + b + "\n " + c) ;

Хорошо, теперь давайте рассмотри основные методы класса Date JS языка.

getFullYear () – Номер текущего года в четырехзначном формате.

getDate () – Вернёт номер текущей даты (от 1 до 31).

getMonth () – Номер текущего месяца (от 1 до 12).

getDay () - Номер дня недели (0 для воскресения, 1- для понедельника. и т. д.).

getHours () – Количество часов (отсчет начинается с полуночи).

getMinutes () - Вернёт количество минут (отсчет начинается с начала часа).

getSeconds () - Число секунд (отсчет идет с начала минуты).

getMilliseconds () - Число миллисекунд.

Давайте рассмотрим следующий пример сценария, который демонстрирует работу с вышеописанными методами класса Date:

//********************************** // Объект JS Date // 2_date.js //********************************** var js_new_date = new Date ; //js var gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds, MyArr, index, list= "" ; gFullYear = "Год\t \t " + js_new_date.getFullYear () ; gDate = "Дата\t \t " + js_new_date.getDate () ; gMonth = "Месяц\t \t " + js_new_date.getMonth () ; gDay = "День недели\t \t " + js_new_date.getDay () ; gHours = "Часы\t \t " + js_new_date.getHours () ; gMinutes = "Минуты\t \t " + js_new_date.getMinutes () ; gSeconds = "Секунды\t \t " + js_new_date.getSeconds () ; gMilliseconds = "Миллисекунды\t \t " + js_new_date.getMilliseconds () ; //Сохраняем всё в массиве MyArr = [ gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds] for (var index in my_arr) { list+= MyArr[ index] + "\n "

Видим, что тут мы объявили ряд переменных jscript, которые хранят значения, возвращаемые функциями класса Date() JS языка, далее, все переменные мы прописали в массив MyArr (детальное описание массивов есть в статье " "), доступ к нему осуществляется через цикл for in (данный цикл я описал в статье " "). В самом конце мы выводим список значений для всех переменных.

getTime () – Количество миллисекунд, которые прошли с 1 января 1970 года. Он идеально подходит для вычисления времени работы блока кода.

//********************************** // js date // Метод getTime() // 3_date.js //********************************** var to_time, end_time, time_elapsed, summ= 0 ; //Начало to_time = (new Date () ) .getTime () ; for (var i= 0 ; i

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

Еще один вариант более расширенный

//
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>
! Сегодня
// + " " + d.getFullYear() + " г.");
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>

Выглядит он так:

Сегодня

Вобщем не требуется никаких навыков, просто тупо вставляем код и все ок!

Подробнее:

Итак, начинаем с присвоения значения даты переменной 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 -скрипт внутрь страницы сайта не всегда удобно. Лучше поместить описание скрипта в начало страницы между тегами и задать переменную, которую будем вызывать по мере необходимости в тексте. Назовём её TODAY и определим в ней форму вывода даты аналогично вышеизложенному. Скрипт будет выглядеть следующим образом:


Для вывода даты вызываем скрипт в нужном месте HTML-кода страницы, используя следующую команду:


document.write(TODAY);

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


Не забудьте проверить, чтобы файл data.js имел ту же кодировку, что и основной документ, иначе дата будет выводиться замечательными крючками, квадратиками и прочими финтифлюшками.

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

 

 

Это интересно: