No Image

Javascript преобразовать строку в дату

СОДЕРЖАНИЕ
4 просмотров
11 марта 2020

Функция Number() преобразует в тип Number, String() в тип String, Boolean() в тип Boolean.

Типы данных в JavaScript

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

Есть 3 типа объектов:

И 2 типа данных, которые не могут содержать значения:

Оператор typeof

Чтобы определить тип переменной JavaScript, используется оператор typeof.

  • У NaN тип number
  • У массива тип object
  • У даты тип object
  • У null тип object
  • У неопределенной переменной тип undefined *
  • У переменной, которой не присвоено значение, тоже тип undefined *

Нельзя при помощи оператора typeof определить, является ли объект JavaScript массивом (или датой).

Оператор typeof это не переменная. Это оператор. У операторов ( + – * / ) нет типов. Однако оператор typeof всегда возвращает строку (содержащую тип операнда).

Свойство constructor

Свойство constructor возвращает функцию-конструктор у всех переменных JavaScript.

Вы можете проверить свойство constructor, чтобы определить, является ли объект массивом (содержит слово "Array"):

Или еще проще, вы можете проверить, является ли объект функцией Array:

Аналогичным образом можно проверить является ли переменная объектом Date.

Преобразование типов в JavaScript

Переменные JavaScript могут быть преобразованы в новые переменные и другие типы данных:

  • при помощи функции JavaScript
  • автоматически самим JavaScript

Преобразование чисел в строки

Глобальный метод String() позволяет преобразовывать числа в строки.

Его можно использовать с любыми видами чисел — константами, переменными или выражениями:

Метод toString() объекта Number делает то же самое.

В главе Методы объекта Number вы найдете другие методы, которые можно использовать для преобразования чисел в строки:

Метод Описание
toExponential() Возвращает строку с округленным числом, записанным в экспоненциальной нотации.
toFixed() Возвращает строку с числом, записанным с заданным количеством цифр после десятичной точки.
toPrecision() Возвращает строку с числом заданной длины.

Преобразование логических значений (тип Boolean) в строку

Глобальный метод String() позволяет преобразовывать логические значения в строки.

Читайте также:  Dr web аптечка сисадмина

Метод toString() объекта Boolean делает то же самое.

Преобразование даты (тип Date) в строку

Глобальный метод String() позволяет преобразовывать дату (тип Date) в строку.

Метод toString() объекта Date делает то же самое.

В главе Методы объекта Date вы найдете другие методы, которые можно использовать для преобразования даты в строку:

Метод Описание
getFullYear() Получить год в формате четырех цифр (гггг)
getMonth() Получить номер месяца (0-11)
getDate() Получить число месяца (1-31)
getHours() Получить час (0-23)
getMinutes() Получить минуты (0-59)
getSeconds() Получить секунды (0-59)
getMilliseconds() Получить миллисекунды (0-999)
getTime() Получить время (количество миллисекунд, прошедших с 1 января 1970)
getDay() Получить номер дня недели (0-6)

Преобразование строк в числа

Глобальный метод Number() позволяет преобразовывать строки в числа.

Строки, содержащие числа (как "3.14"), преобразовываются в числа (как 3.14). Пустые строки преобразовываются в 0. Все остальные строки преобразовываются в NaN (Не число).

В главе Методы объекта Number вы найдете другие методы, которые можно использовать для преобразования строк в числа:

Метод Описание
parseFloat() Парсит строку и возвращает число с плавающей точкой.
parseInt() Парсит строку и возвращает целое число.

Унарный оператор +

Унарный оператор + также можно использовать для преобразования переменных в числовой тип:

Если переменная не может быть преобразована, то она все равно станет числом, но со значением NaN (Не число):

Преобразование логических значений (тип Boolean) в число

Глобальный метод Number() позволяет преобразовывать логические значения в числа.

Преобразование даты (тип Date) в число

Глобальный метод Number() позволяет преобразовывать значения даты (тип Date) в числа.

Метод getTime() объекта Date делает то же самое.

Автоматическое преобразование типов

Когда JavaScript приходится оперировать с "неправильным" типом данных, интерпретатор попытается преобразовать тип этого значения в "правильный".

Результат получается не всегда таким, как вы ожидаете:

Читайте также:  Unravel two на русском

Автоматическое преобразование строк

JavaScript автоматически вызывает метод переменной toString(), когда вы пытаетесь "вывести" объект или переменную:

Числа и логические значения также преобразуются, но это не так заметно:

Таблица преобразования типов JavaScript

В следующей таблице показаны результаты преобразования различных значений JavaScript в типы Number, String и Boolean:

Оригинальное значение Преобразованное в Number Преобразованное в String Преобразованное в Boolean
false "false" false
true 1 "true" true
"0" false
1 1 "1" true
"0" "0" true
"000" "000" true
"1" 1 "1" true
NaN NaN "NaN" false
Infinity Infinity "Infinity" true
-Infinity -Infinity "-Infinity" true
"" "" false
"20" 20 "20" true
"twenty" NaN "twenty" true
[] "" true
[20] 20 "20" true
[10,20] NaN "10,20" true
["twenty"] NaN "twenty" true
["ten","twenty"] NaN "ten,twenty" true
function()<> NaN "function()<>" true
NaN "[object Object]" true
null "null" false
undefined NaN "undefined" false

Значения в кавычках показывают строковые значения.

Красным цветом выделены значения, которые не всегда ожидаемы.

477 jslearner [2011-04-11 12:21:00]

Как я могу преобразовать строку в дату в JavaScript?

javascript date type-conversion

32 ответа

619 Решение Pavel Hodek [2011-04-11 12:53:00]

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

Примеры формата ISO: YYYY-MM-DD или YYYY-MM-DDTHH:MM:SS .

Но подождите! Просто использование "формата ISO" не работает само по себе. Строка иногда анализируется как UTC, а иногда и локально (на основе поставщика и версии браузера). Лучшая практика всегда должна заключаться в том, чтобы хранить даты как UTC и делать вычисления в формате UTC.

Чтобы разобрать дату в формате UTC, добавьте Z – например: new Date(‘2011-04-11T10:20:30Z’) .

Чтобы отобразить дату в формате UTC, используйте .toUTCString() ,
для отображения даты в локальном времени пользователя используйте .toString() .

Читайте также:  Гос экзамены в институте

Дополнительная информация о MDN | Дата и этот ответ.

Для старой совместимости с Internet Explorer (версии IE менее 9 не поддерживают формат ISO в конструкторе даты), вы должны разделить представление строки datetime на части, а затем вы можете использовать конструктор, использующий компоненты datetime, например: new Date(‘2011′, ’04’ – 1, ’11’, ’11’, ’51’, ’00’) . Обратите внимание, что номер месяца должен быть меньше 1.

Альтернативный метод – используйте соответствующую библиотеку:

Как преобразовать строку в дату в JavaScript?

29 ответов

лучшим строковым форматом для синтаксического анализа строк является формат даты ISO вместе с конструктором объекта даты JavaScript.

примеры формата ISO: YYYY-MM-DD или YYYY-MM-DDTHH:MM:SS .

Но подождите! просто использование "формата ISO" не работает надежно само по себе. Строка иногда анализируется как UTC, а иногда как localtime (на основе поставщика браузера и версии). Лучшей практикой всегда должно быть хранение дат в формате UTC и выполнение вычислений как UTC.

чтобы проанализировать дату как UTC, добавьте Z, например: new Date(‘2011-04-11T10:20:30Z’) .

для отображения даты в формате UTC, используйте .toUTCString() ,
чтобы отобразить дату в локальном времени пользователя, используйте .toString() .

для старой совместимости Internet Explorer (т. е. версии менее 9 не поддерживают формат ISO в конструкторе даты), вы должны разделить строковое представление datetime на его части и тогда вы можете использовать конструктор, используя части datetime, например: new Date(‘2011′, ’04’ – 1, ’11’, ’11’, ’51’, ’00’) . Обратите внимание, что количество месяцев должно быть на 1 меньше.

альтернативный метод-используйте соответствующую библиотеку:

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

к сожалению, я узнал, что

возвращает "Ср 02 апреля 2014". Я знаю, что это звучит безумно, но это происходит для некоторых пользователей.

на пуленепробиваемый решение следующий:

Комментировать
4 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector