Invest-currency.ru

Как обезопасить себя в кризис?
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Js date to unixtime

преобразовать дату в timestamp в javascript?

Я хочу преобразовать дату в timestamp, мой ввод- 26-02-2012 . Я использовал

Там написано NaN.. Может ли кто-нибудь сказать, как это преобразовать?

12 Ответов

Обновление:

DEMO (проверено в Chrome, FF, Opera, IE и Safari).

Попробуйте эту функцию, она использует метод Date.parse() и не требует никакой пользовательской логики:

этот рефакторинг кода будет делать

это работает на всех современных браузерах, кроме ie8-

Вам нужно просто поменять свою цифру даты и изменить — на , :

P.S. UK locale здесь не имеет значения.

Здесь есть две проблемы. Во-первых, вы можете вызвать getTime только на экземпляре даты. Вам нужно заключить новую дату в скобки или назначить ее переменной.

Во-вторых, вам нужно передать ему строку в соответствующем формате.

Ваша строка не имеет формата, для обработки которого указан объект Date . Вам придется проанализировать его самостоятельно, использовать библиотеку анализа даты, такую как MomentJS или более старая (и не поддерживаемая в настоящее время, насколько я могу судить) DateJS , или втирать его в правильный формат (например, 2012-02-29 ), прежде чем просить Date проанализировать его.

Почему вы получаете NaN : когда вы просите new Date(. ) обработать недопустимую строку, он возвращает объект Date , который имеет недопустимую дату ( new Date(«29-02-2012»).toString() возвращает «Invalid date» ). Вызов getTime() для объекта date в этом состоянии возвращает NaN .

Чтобы преобразовать дату (ISO) в Unix timestamp , я получил timestamp символов на 3 больше, чем нужно, поэтому мой год был где-то около 50 тысяч.

Я должен был разделить его на 1000: new Date(‘2012-02-26’).getTime() / 1000

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

Для тех, кто хочет иметь читаемый timestamp в формате, yyyymmddHHMMSS

Пример использования: расширение файла резервной копии. /my/path/my.file.js.20190220

Похожие вопросы:

Я хочу преобразовать свою дату (которая находится в строковом формате), например 13-09-2011, в Timestamp. Я использовал код ниже, но получил 2011-09-13 00:00:00.0 в результате. Но я хочу Timestamp.

Я получил массив дат из файла excel, и они выглядят как странные дробные числа: 42425.4166550926,42419.3326041667, 42411.5419097222 и т. д. Как преобразовать их в дату unix timestamp или javascript?

У меня есть дата в этом формате: вторник, 31 октября 2017 года, и я попытался преобразовать ее с помощью new Date(); но это не сработало. Есть ли какой-нибудь простой способ, как преобразовать эту.

Я просто пытаюсь преобразовать timestamp обратно в читаемую человеком дату, но то, что я получаю при преобразовании, странно и неправильно. Вот как я спасаю timestamp: var timestamp = Number(new.

Я создал некоторую функцию, но как преобразовать строку timestamp в формат даты для данного variabe. var data=/Date(1424853425207)/; data=data.parse(data); consoe.log(data); Но включить показать.

Как преобразовать дату в Timestamp в java? Эта строка дает мне следующую ошибку: The constructor Timpestamp(Date) is undefined Timestamp timestamp = new Timestamp(Date);

Я пытаюсь выяснить, как я могу преобразовать unix timestamp в читаемую дату с помощью javascript. Например, я хочу преобразовать этот unix: 1422360000 в формат даты, подобный этому (или что-то.

Я хочу преобразовать дату в timestamp У меня есть два разных формата даты Wed May 31 2017 15:33:47 GMT+0530 (India Standard Time) и 2017-05-31T10:03:47.592Z . Я хочу чтобы преобразовать его в.

В простых JavaScript и TypeScript мы можем написать следующее, Чтобы получить unix timestamp даты: let d = new Date(); const unixtime = d.valueOf(); Теперь, в JavaScript, мы можем легко.

Мне интересно, как преобразовать timestamp в дату в Excel. JavaScript timestamp: 1486812409161 Unix timestamp 1486812409 Что Excel функция / формула может преобразовать в нечто вроде: 2/11/2017.

Дата и время

Встречайте новый встроенный объект: Date. Он содержит дату и время, а также предоставляет методы управления ими.

Например, его можно использовать для хранения времени создания/изменения, для измерения времени или просто для вывода текущей даты.

Создание

Для создания нового объекта Date нужно вызвать конструктор new Date() с одним из следующих аргументов:

Без аргументов – создать объект Date с текущими датой и временем:

Создать объект Date с временем, равным количеству миллисекунд (тысячная доля секунды), прошедших с 1 января 1970 года UTC+0.

Целое число, представляющее собой количество миллисекунд, прошедших с начала 1970 года, называется таймстамп (англ. timestamp).

Это – легковесное численное представление даты. Из таймстампа всегда можно получить дату с помощью new Date(timestamp) и преобразовать существующий объект Date в таймстамп, используя метод date.getTime() (см. ниже).

Датам до 1 января 1970 будут соответствовать отрицательные таймстампы, например:

Если аргумент всего один, и это строка, то из неё «прочитывается» дата. Алгоритм разбора – такой же, как в Date.parse , который мы рассмотрим позже.

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

  • year должен состоять из четырёх цифр: значение 2013 корректно, 98 – нет.
  • month начинается с 0 (январь) по 11 (декабрь).
  • Параметр date здесь представляет собой день месяца. Если параметр не задан, то принимается значение 1 .
  • Если параметры hours/minutes/seconds/ms отсутствуют, их значением становится 0 .

Минимальная точность – 1 мс (1/1000 секунды):

Получение компонентов даты

Существуют методы получения года, месяца и т.д. из объекта Date :

getFullYear() Получить год (4 цифры) getMonth() Получить месяц, от 0 до 11. getDate() Получить день месяца, от 1 до 31, что несколько противоречит названию метода. getHours(), getMinutes(), getSeconds(), getMilliseconds() Получить, соответственно, часы, минуты, секунды или миллисекунды.

Многие интерпретаторы JavaScript реализуют нестандартный и устаревший метод getYear() , который порой возвращает год в виде двух цифр. Пожалуйста, обходите его стороной. Если нужно значение года, используйте getFullYear() .

Кроме того, можно получить определённый день недели:

Читать еще:  Linux файловая структура

getDay() Вернуть день недели от 0 (воскресенье) до 6 (суббота). Несмотря на то, что в ряде стран за первый день недели принят понедельник, в JavaScript начало недели приходится на воскресенье.

Все вышеперечисленные методы возвращают значения в соответствии с местным часовым поясом.

Однако существуют и их UTC-варианты, возвращающие день, месяц, год для временной зоны UTC+0: getUTCFullYear(), getUTCMonth(), getUTCDay(). Для их использования требуется после «get» подставить «UTC» .

Если ваш местный часовой пояс смещён относительно UTC, то следующий код покажет разные часы:

Помимо вышеприведённых методов, существуют два особых метода без UTC-варианта:

Для заданной даты возвращает таймстамп – количество миллисекунд, прошедших с 1 января 1970 года UTC+0.

Возвращает разницу в минутах между местным часовым поясом и UTC:

Установка компонентов даты

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

У всех этих методов, кроме setTime() , есть UTC-вариант, например: setUTCHours() .

Как мы видим, некоторые методы могут устанавливать сразу несколько компонентов даты, например: setHours . Если какая-то компонента не указана, она не меняется.

Автоисправление даты

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

Неправильные компоненты даты автоматически распределяются по остальным.

Предположим, нам требуется увеличить дату «28 февраля 2016» на два дня. В зависимости от того, високосный это год или нет, результатом будет «2 марта» или «1 марта». Нам об этом думать не нужно. Просто прибавляем два дня. Объект Date позаботится об остальном:

Эту возможность часто используют, чтобы получить дату по прошествии заданного отрезка времени. Например, получим дату «спустя 70 секунд с текущего момента»:

Также можно установить нулевые или даже отрицательные значения. Например:

Преобразование к числу, разность дат

Если объект Date преобразовать в число, то получим таймстамп по аналогии с date.getTime() :

Важный побочный эффект: даты можно вычитать, в результате получаем разность в миллисекундах.

Этот приём можно использовать для измерения времени:

Date.now()

Если нужно просто измерить время, объект Date нам не нужен.

Существует особый метод Date.now() , возвращающий текущую метку времени.

Семантически он эквивалентен new Date().getTime() , однако метод не создаёт промежуточный объект Date . Так что этот способ работает быстрее и не нагружает сборщик мусора.

Данный метод используется из соображений удобства или когда важно быстродействие, например, при разработке игр на JavaScript или других специализированных приложений.

Вероятно, предыдущий пример лучше переписать так:

Бенчмаркинг

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

Например, сравним две функции, вычисляющие разницу между двумя датами: какая сработает быстрее?

Подобные вычисления, замеряющие производительность, также называют «бенчмарками» (benchmark).

Обе функции делают буквально одно и то же, только одна использует явный метод date.getTime() для получения даты в миллисекундах, а другая полагается на преобразование даты в число. Результат их работы всегда один и тот же.

Но какая функция быстрее?

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

Вот это да! Метод getTime() работает ощутимо быстрее! Всё потому, что не производится преобразование типов, и интерпретаторам такое намного легче оптимизировать.

Замечательно, это уже что-то. Но до хорошего бенчмарка нам ещё далеко.

Представьте, что при выполнении bench(diffSubtract) процессор параллельно делал что-то ещё, также потребляющее ресурсы. А к началу выполнения bench(diffGetTime) он это уже завершил.

Достаточно реалистичный сценарий в современных многопроцессорных операционных системах.

В итоге у первого бенчмарка окажется меньше ресурсов процессора, чем у второго. Это может исказить результаты.

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

Современные интерпретаторы JavaScript начинают применять продвинутые оптимизации только к «горячему коду», выполняющемуся несколько раз (незачем оптимизировать то, что редко выполняется). Так что в примере выше первые запуски не оптимизированы должным образом. Нелишним будет добавить предварительный запуск для «разогрева»:

Современные интерпретаторы JavaScript выполняют множество оптимизаций. Они могут повлиять на результаты «искусственных тестов» по сравнению с «нормальным использованием», особенно если мы тестируем что-то очень маленькое, например, работу оператора или встроенной функции. Поэтому если хотите серьёзно понять производительность, пожалуйста, изучите, как работают интерпретаторы JavaScript. И тогда вам, вероятно, уже не понадобятся микробенчмарки.

Отличный набор статей о V8 можно найти на http://mrale.ph.

Разбор строки с датой

Метод Date.parse(str) считывает дату из строки.

Формат строки должен быть следующим: YYYY-MM-DDTHH:mm:ss.sssZ , где:

  • YYYY-MM-DD – это дата: год-месяц-день.
  • Символ «T» используется в качестве разделителя.
  • HH:mm:ss.sss – время: часы, минуты, секунды и миллисекунды.
  • Необязательная часть ‘Z’ обозначает часовой пояс в формате +-hh:mm . Если указать просто букву Z , то получим UTC+0.

Возможны и более короткие варианты, например, YYYY-MM-DD или YYYY-MM , или даже YYYY .

Unix время и Unix Timestamp (MySQL, PHP, JavaScript)

Здравствуйте, уважаемые читатели блога LifeExample, в данной статье, я хочу рассказать вам о том, что такое Unix время и Unix Timestamp. Часто программисты объединяют эти понятия в одно, но это не совсем верно. Кроме того, статья содержит много полезных заметок, на тему работы с Unix Timestamp в PHP , MySQL и JavaScript.

Почему Unix время начинается с 1 января 1970 года

Все дело в том, что Unix время начинает отсчет эпохи Unix, с выпуска первой UNIX системы. Первая система подобного рода была создана в 1969 году, поэтому точкой отсчета времени разработчики приняли дату с 1 января 1970 года в полночь по UTC (Всемирное координированное время).

Давайте разберемсяс тем, для чего нужны Unix время и Unix Timestamp, а также дадим им четкие понятия.

Unix время – это текущее количество секунд прошедших с 1 января 1970 года.

Unix Timestamp – это метка времени, которая представляет собой последовательность символов, отражающих количество секунд, прошедших с 1 января 1970 года.

Попробую привести пример, для разъяснения разницы этих двух понятий.

Читать еще:  Архитектура современного пк

На время написания мной данного поста, Unix время было равно 1346765877.

На время прочтения, Вами, этой информации, запись о времени (1346765877) , уже является меткой — Unix Timestamp! Конвертировав данную метку времени в удобочитаемый вид, мы получим дату 04-09-2012 и время 17:37:57 .

Откровенно говоря, особого смысла разделять два понятия, на мой взгляд, нет, но все же полезно иметь представление о том, что из-себя представляет Unix Time, а также полезно понимать, что количество максимально возможных секунд прошедших с 1970 года, имеет предел!

Конец эпохи Unix придёт в 2038 году

Факт: максимальным двоичным числом в 32 битных системах является число 01111111 11111111 11111111 11111111, переведя его в десятичную систему, мы получим число 2147483647.

19 января 2038 года в 03:14:08 настанет момент, когда количество секунд прошедших с начала эры Unix, превысит максимальное, доступное в 32 битной системе, число = 2147483647. При переполнении разряда, произойдет сброс даты.

Проверить эту теорию на наглядном примере очень просто:

  • Откройте стандартный калькулятор Windows нажмите ALT+3 , этим вы переведете его в инженерный вид;
  • Установите 4 байтовый режим, и десятичный тип ввода;
  • Напишите число 2147483647 ;

  • Обратите внимание, на представление числа в двоичной системе;
  • Прибавьте к числу единицу;

  • Результатом сложения окажется отрицательное число!

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

Именно такое кольцевание дат произойдет с 19 января 2038 года на всех системах использующих 32 битную архитектуру.

На самом деле не стоит печалиться, ведь разработчики вычислительных систем все больше внедряют 64 битные архитектуры в повсеместное использование. Будем верить в то, что они успеют к 2038 году.

Теперь поговорим об использовании unix timestamp в php, mysql и даже в javascript.

Работа с unix timestamp

Очень важным моментом, при работе с unix timestamp в php или mysql, является необходимость четкого понимать плюсы и минусы такого формата даты.

Например, TIMESTAMP не получится использовать для задания исторических событий или событий далекого будущего. Весь набор дат ограничен периодом с 1970 по начало 2038 года. Если задать дату, выходящую за рамки 2038, она будет не правильно интерпретирована 32 битной системой.

Осознав это ограничение, напрашивается логический вопрос: «Зачем нужно заморачиваться с представлением даты в секундах?«

Когда следует использовать Unix Timestamp

Для представления времени в обычной для нас системе его измерения, требуется 8 байт, а для unix timestamp вдвое меньше – 4 байта.

Экономия объема данных, на мой взгляд, основной и неоспоримый плюс в использовании Unix Time.

Кроме того есть ряд полезных нюансов доступных при работе с UNIX timestamp в mysql. А поскольку вся информация должна храниться на сервере баз данных, и он в свою очередь имеет ряд преимуществ, при работе с метками Unix времени, то выбор в сторону unix timestamp можно корректно обосновать следующими положениями.

В MySQL предусмотрен соответствующий тип данных Timestamp для работы с форматом unix-времени, установив который мы сразу получаем полезное преимущество, перед стандартными форматами DATE и DATETIME. Преимущество заключается в том, что выполняя операцию добавления новой записи в таблицу, столбец с этим типом данных заполняется автоматически. А это значит, что мы можем сэкономить не только на объеме данных, но и на процессорном времени веб сервера.

Для подкрепления слова делом поставим такую задачу: при регистрации нового пользователя в системе, нужно заносить дату его добавления в базу данных.

Если тип поля хранящего дату в таблице – DATETIME, то запрос из PHP скрипта будет выглядеть примерно так:

преобразовать дату в timestamp в javascript?

Я хочу преобразовать дату в timestamp, мой ввод- 26-02-2012 . Я использовал

Там написано NaN.. Может ли кто-нибудь сказать, как это преобразовать?

12 Ответов

Обновление:

DEMO (проверено в Chrome, FF, Opera, IE и Safari).

Попробуйте эту функцию, она использует метод Date.parse() и не требует никакой пользовательской логики:

этот рефакторинг кода будет делать

это работает на всех современных браузерах, кроме ie8-

Вам нужно просто поменять свою цифру даты и изменить — на , :

P.S. UK locale здесь не имеет значения.

Здесь есть две проблемы. Во-первых, вы можете вызвать getTime только на экземпляре даты. Вам нужно заключить новую дату в скобки или назначить ее переменной.

Во-вторых, вам нужно передать ему строку в соответствующем формате.

Ваша строка не имеет формата, для обработки которого указан объект Date . Вам придется проанализировать его самостоятельно, использовать библиотеку анализа даты, такую как MomentJS или более старая (и не поддерживаемая в настоящее время, насколько я могу судить) DateJS , или втирать его в правильный формат (например, 2012-02-29 ), прежде чем просить Date проанализировать его.

Почему вы получаете NaN : когда вы просите new Date(. ) обработать недопустимую строку, он возвращает объект Date , который имеет недопустимую дату ( new Date(«29-02-2012»).toString() возвращает «Invalid date» ). Вызов getTime() для объекта date в этом состоянии возвращает NaN .

Чтобы преобразовать дату (ISO) в Unix timestamp , я получил timestamp символов на 3 больше, чем нужно, поэтому мой год был где-то около 50 тысяч.

Я должен был разделить его на 1000: new Date(‘2012-02-26’).getTime() / 1000

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

Для тех, кто хочет иметь читаемый timestamp в формате, yyyymmddHHMMSS

Пример использования: расширение файла резервной копии. /my/path/my.file.js.20190220

Похожие вопросы:

Я хочу преобразовать свою дату (которая находится в строковом формате), например 13-09-2011, в Timestamp. Я использовал код ниже, но получил 2011-09-13 00:00:00.0 в результате. Но я хочу Timestamp.

Читать еще:  Convert unixtime to date

Я получил массив дат из файла excel, и они выглядят как странные дробные числа: 42425.4166550926,42419.3326041667, 42411.5419097222 и т. д. Как преобразовать их в дату unix timestamp или javascript?

У меня есть дата в этом формате: вторник, 31 октября 2017 года, и я попытался преобразовать ее с помощью new Date(); но это не сработало. Есть ли какой-нибудь простой способ, как преобразовать эту.

Я просто пытаюсь преобразовать timestamp обратно в читаемую человеком дату, но то, что я получаю при преобразовании, странно и неправильно. Вот как я спасаю timestamp: var timestamp = Number(new.

Я создал некоторую функцию, но как преобразовать строку timestamp в формат даты для данного variabe. var data=/Date(1424853425207)/; data=data.parse(data); consoe.log(data); Но включить показать.

Как преобразовать дату в Timestamp в java? Эта строка дает мне следующую ошибку: The constructor Timpestamp(Date) is undefined Timestamp timestamp = new Timestamp(Date);

Я пытаюсь выяснить, как я могу преобразовать unix timestamp в читаемую дату с помощью javascript. Например, я хочу преобразовать этот unix: 1422360000 в формат даты, подобный этому (или что-то.

Я хочу преобразовать дату в timestamp У меня есть два разных формата даты Wed May 31 2017 15:33:47 GMT+0530 (India Standard Time) и 2017-05-31T10:03:47.592Z . Я хочу чтобы преобразовать его в.

В простых JavaScript и TypeScript мы можем написать следующее, Чтобы получить unix timestamp даты: let d = new Date(); const unixtime = d.valueOf(); Теперь, в JavaScript, мы можем легко.

Мне интересно, как преобразовать timestamp в дату в Excel. JavaScript timestamp: 1486812409161 Unix timestamp 1486812409 Что Excel функция / формула может преобразовать в нечто вроде: 2/11/2017.

Unix time конвертер (Конвертер времени Unix онлайн)

Что такое Unix время или Unix эпоха (Unix epoch или Unix time или POSIX time или Unix timestamp) ?

UNIX-время или POSIX-время (англ. Unix time) — способ кодирования времени, принятый в UNIX и других POSIX-совместимых операционных системах.
Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970, время с этого момента называют «эрой UNIX» (англ. Unix Epoch).
Время UNIX согласуется с UTC, в частности, при объявлении високосных секунд UTC соответствующие номера секунд повторяются.
Способ хранения времени в виде количества секунд очень удобно использовать при сравнении дат (с точностью до секунды), а также для хранения дат: при необходимости их можно преобразовать в любой удобочитаемый формат. Дата и время в этом формате также занимают очень мало места (4 или 8 байтов, в зависимости от размера машинного слова), поэтому его разумно использовать для хранения больших объёмов дат. Недостатки в производительности могут проявиться при очень частом обращении к элементам даты, вроде номера месяца и т. п. Но в большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.

Конвертивание эпохи Unix в человекопонятную дату(human readable date)

Unix дата начала и конца года, месяца или дня

Перевод секунд в дни, часы и минуты

Как получить Unix время в.

Конвертирование даты в Unix время в.

Конвертирование Unix времеми в понятную дату(human readable date).

Для чего нужен инструмент «Unixtime конвертер»?

Данный инструмент, в первую очередь, будет полезен веб-мастерам, которые постоянно имеют дело с большими объемами дат или часто в своей работе обращаются к их элементам. С помощью инструмента «Unixtime конвертер» можно легко конвертировать Unix время в понятную для пользователя дату (и наоборот), узнать текущее Unix epoch время, а также получить Unix время в различных языках программирования, СУБД и операционных системах.

Что такое Unix время?

Эра Unix (Unix epoch) началась в ночь с 31 декабря 1969 года на 1 января 1970 года. Именно эту дату взяли за точку отсчета «компьютерного» времени, которое исчисляется в секундах и занимает очень мало места на диске – всего 4 или 8 байт. С помощью такого способа кодирования программисты могут «спрятать» любую дату в одно число, и легко конвертировать его обратно в понятный пользователям формат.

Unix время (еще его называют Unix time или POSIX time) удобно использовать в различных операционных системах и языках программирования, так как оно отображается в виде одной величины, а не определенного количества полей, занимающих место. К тому же, UNIX time полностью соответствует стандарту UTC (в том числе и в високосных годах) – в таком случае соответствующие значения секунд просто повторяются.

Пару слов о терминах.

Итак, Unix-временем (или POSIX-временем) считается количество секунд, которые прошли с полуночи 1 января 1970 года до настоящего времени.

Unix Timestamp (временная метка) – это «зафиксированное» время, иными словами – конкретная дата, запечатленная в числе.

UTC (Universal Coordinated Time) – это Всемирное координированное время, которое «фиксируется» на нулевом меридиане, и от которого ведется отсчет географических часовых поясов.

Насколько «долговечна» данная система?

Всего лишь через пару десятков лет, а именно 19 января 2038 года в 03:14:08 по UTC Unix time достигнет значения 2147483648, и компьютерные системы могут интерпретировать это число как отрицательное. Ключ к решению данной проблемы лежит в использовании 64-битной (вместо 32-битной) переменной для хранения времени. В таком случае, запаса числовых значений Unix time хватит человечеству еще на 292 миллиарда лет. Неплохо, правда?

Unix время – одно для всех

Если вы живете в Лондоне или Сан-Франциско, а ваши друзья – в Москве, то «сверить часы» можно по Unix time: эта система в данный момент времени едина для всего мира. Естественно, если время на серверах выставлено правильно. А с помощью инструмента «Unixtime конвертер» такая конвертация займет у вас доли секунды.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector