Перевод секунд в дни и часы (javascript)


Содержание

Часы на JavaScript

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

Первый способ — метод toLocaleTimeString()

Для написания первого скрипта нам понадобится HTML заготовка, с которой и будем работать:

Укажем ей следующие свойства:

Теперь можно писать сам код. Основан он будет на использовании метода toLocaleTimeString() объекта Date. Этот метод выводит полное время в формате, установленном у пользователя на его ОС. Порой, это бывает очень удобно, а главное этот вариант самый короткий.

В этой реализации часы будут запускаться после загрузки страницы, для этого скрипт обернут в функцию onload. Далее используется функция setInterval(), принимающая два параметра: интервал в одну секунду и анонимную функцию, которая будет получать текущие время и выводить его в блок с >

Всё часы готовы!

Второй способ – часы на сайте: «часы, минуты и секунды отдельно»

Во втором варианте скрипта, все элементы часов вытягиваются по отдельности, а именно часы, минуты и секунды. Так же как и в первом скрипте, нужно создать блок, в котором будет выводиться время в этом случае с >

Указываем ему отличные свойства от первого скрипта:

Весь код помещается в функцию, которая будет вызвана после элемента с >

Всё часы готовы!

Разноцветные часы на JavaScript

Выше были показаны стандартные способы вывода часов на сайте. Конечно, всё это можно усложнить и сделать чуть-чуть интереснее, например: каждую секунду менять цвет часов, минут и секунд. Ниже как раз описан такой алгоритм, но для его реализации необходимо добавить три элемента span с >

Всё часы готовы!

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

Как конвертировать секунды в минуты и часы в javascript

У меня есть количество секунд, хранящихся в переменной seconds . Я хочу конвертировать, например, 1439 секунд до 23 минут и 59 секунд. И если время больше 1 часа (например, 9432 секунды), до 2 часов, 37 минут и 12 секунд.

Как я могу это достичь?

Но это много кода, и его нужно вычислять каждую секунду. Как я могу уменьшить это?

Думаю, вы найдете это решение очень полезным.

Вы изменяете формат отображения в соответствии с вашими потребностями примерно так:

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

Илон Маск рекомендует:  Что такое код swffill

Дата и время в JavaScript

Объект Date

JavaScript, как и многие языки программирования, может работать с датой и временем. Для этого существует специальный тип объекта Date. Он содержит дату и время. Для его создания используется ключевое слово new , после которого указывается, что создаётся объект Date.

имя объекта = new Date ();

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

Полное руководство по датам в JavaScript

Работа с датами может быть сложной . Независимо от технологии, разработчики чувствуют боль.

JavaScript предоставляет нам функциональность обработки даты при помощи мощного встроенного объекта: Date .

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

Объект Date

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

Инициализируйте объект Date

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

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

Внутренне даты выражаются в миллисекундах с 1 января 1970 года (UTC).

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

Временные метки UNIX указываются в секундах а JavaScript объект Date работает с миллисекундами, это важно помнить работая с timestamp

Если у нас есть отметка времени UNIX, мы можем создать экземпляр объекта Date с помощью:

Если мы передадим 0, мы получим объект Date, который представляет время на 1 января 1970 года (UTC):

Если мы передаем строку, а не число, тогда объект Date использует метод parse , чтобы определить, какую дату вы передаете. Примеры:


Здесь много гибкости. Вы можете добавить или опустить ведущий ноль в месяцах или днях.

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

Вы также можете использовать Date.parse :

Date.parse вернет метку времени (в миллисекундах), а не объект Date.

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

Минимум должен быть 3 параметра, но большинство движков JavaScript также интерпретируют меньшее их число:

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

JavaScript, без какой-либо информации о часовом поясе, будет считать дату UTC и автоматически выполнит преобразование в текущий часовой пояс компьютера.

Итак, суммируя, вы можете создать новый объект Date четырьмя способами

  • не передавая никаких параметров, создает объект Date, который представляет текущую дату и время
  • передача числа, которое представляет миллисекунды с 1 января 1970 года
  • передавая строку, которая представляет дату
  • передавая набор параметров, которые представляют различные части даты

Часовые пояса

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

Вы можете указать часовой пояс, добавив его в формате +HOURS или добавив имя часового пояса в скобках:

Если вы укажете неправильное имя часового пояса в скобках, JavaScript по умолчанию будет считать дату UTC без вывода ошибки.

Если вы укажете неправильный числовой формат, JavaScript будет выдавать сообщение об ошибке «Invalid Date».

Преобразование даты и форматирование

Для данного объекта Date существует множество методов, которые сгенерируют строку с этой датой:

Методы получения объекта Date

Объект Date предлагает несколько методов для проверки его значения. Все это зависит от текущего часового пояса компьютера:

Существуют эквивалентные версии этих методов в формате UTC, которые возвращают значение UTC, а не значения, адаптированные к вашему текущему часовому поясу:

Редактирование даты

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

setDay и setMonth принимают нумерацию с 0, например, март месяц имеет индекс 2.

Забавный факт: эти методы «пересекаются», поэтому, если вы, например, установите date.setHours(48) , он также будет увеличивать день.

Полезно знать: вы можете добавить более одного параметра, чтобы setHours() также установил минуты, секунды и миллисекунды: setHours(0, 0, 0, 0) — то же самое относится к методам setMinutes и setSeconds .

Методы set также имеют эквивалент UTC:

Илон Маск рекомендует:  Exit, _exit завершить выполнение программы

Получить текущую метку времени

Если вы хотите получить текущую метку времени в миллисекундах, вы можете использовать сокращение

JavaScript старается работать без ошибок

Обращать внимание. Если вы передадите большее количеством дней в месяце, ошибок не будет, и дата перейдет к следующему месяцу:

То же самое касается месяцев, часов, минут, секунд и миллисекунд.

Формат даты в соответствии с локалью

Internationalization API, хорошо поддерживается в современных браузерах (заметное исключение: UC Browser), позволяя переводить даты.

Он предоставляет объектом Intl , который также помогает локализовать числа, строки и валюты.

Мы будем использовать для преобразования даты метод Intl.DateTimeFormat() .

Отформатируйте дату в соответствии с локалью компьютера по умолчанию:

Отформатируйте дату в соответствии с другим языком:

Метод Intl.DateTimeFormat принимает необязательный параметр, который позволяет настроить вывод. Чтобы также отображать часы, минуты и секунды:

Сравнение двух дат

Вы можете рассчитать разницу между двумя датами, используя Date.getTime() :

Таким же образом вы можете проверить, равны ли две даты:

Имейте в виду, что метод getTime() возвращает количество миллисекунд, поэтому при сравнении необходимо учитывать время. July 10, 2020 07:22:13 не равно July 10, 2020 . В этом случае вы можете использовать метод setHours(0, 0, 0, 0) для сброса времени.

Java: преобразование секунд в день, час, минуту и секунды с помощью TimeUnit


Я использую класс TimeStamp для преобразования секунд в день,часы,минуты, секунды. Я использовал следующий код

но я не получаю правильный результат. Например, когда я вызвал этот метод как calculateTime(3600) это дает мне результат как Day 0 Hour 1 Minute 60 Seconds 3540 вместо Day 0 Hour 1 Minute 0 Seconds 0 .

что не так с моей логикой? Пожалуйста, помогите мне.

6 ответов

это должно быть как

редактировать Объяснение:

  1. день расчет правильный не требует объяснения.
  2. timeunit / единицы.СЧИТАННЫЕ СЕКУНДЫ.toHours (секунды) даст вам прямое преобразование из секунд в часы без учета дней, которые вы уже рассчитали. Минус часы за дни, которые у тебя уже есть.e, день * 24. Теперь у вас есть оставшиеся часы.
  3. то же самое для минуты и секунды. Нужно минус уже есть часы и минуты соответственно.

вы можете сделать так, чтобы использовать только TimeUnit :

или немного короче, но, возможно, не такое интуитивное

Как конвертировать время миллисекунды в часы, минуты, секунды в формате JavaScript?

У меня есть время в миллисекундах, но я хочу время после преобразования, например, 00:00:00 .

Пример: в миллисекундах = 86400000. Я хочу, сколько часов в этих миллисекундах, например, 00:00:00

Как получить это в JavaScript?

9 ответов

Как насчет этого, создав функцию в javascript, как показано ниже:

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

У меня была та же проблема, вот что я в итоге сделал:

Этот возвращает время, как YouTube видео

  • getYoutubeLikeToDisplay (129900) = «2:10»
  • getYoutubeLikeToDisplay (1229900) = «20:30»
  • getYoutubeLikeToDisplay (21229900) = «05:53:50»

На основании @Chand ответа. Это реализация в Typescript. Немного безопаснее, чем типы принуждения в JS. При удалении аннотации типа должен быть действителен JS. Также используются новые строковые функции для нормализации времени.

Это решение использует одну function для разделения миллисекунд на parts object и другую function для форматирования parts object .

Я создал 2 функции форматирования, по вашему желанию, и одну, которая печатает дружественную строку с учетом единственного / множественного числа, и включает опцию для отображения миллисекунд.

textTime станет ‘ 7.04 AM

Вышеуказанные фрагменты не работают для случаев с более чем 1 днем (они просто игнорируются).

Для этого вы можете использовать:

Мне нужно было время только до одного дня, 24 часа, это было мое мнение:

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

Unixtime конвертер и справочник

Что такое 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 байтов, в зависимости от размера машинного слова), поэтому его разумно использовать для хранения больших объёмов дат. Недостатки в производительности могут проявиться при очень частом обращении к элементам даты, вроде номера месяца и т. п. Но в большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.

Илон Маск рекомендует:  SeekEof - Функция Delphi

как перевести секунды в минуты и часы на javascript

У меня есть счетчик секунд, хранящиеся в переменной . Я хочу, чтобы преобразовать например 1439 секунд до 23 минут и 59 секунд. И если время больше чем 1 час (например 9432 секунд), до 2 часов, 37 минут и 12 секунд.

Как я могу добиться этого?

Но это много кода, и он должен быть рассчитан каждый второй. Как я могу сжать это?

Ответ 1

Я думаю, что вы найдете очень полезно.

Вы изменить формат отображения, чтобы соответствовать вашим потребностям с чем-то вроде этого —

Ответ 2

Вы можете попробовать это, я успешно использовал это в pastYou должны быть в состоянии добавить минуты и секунды легко

Вы можете изменить объект

Ответ 3


Низким содержанием жира способ сделать это:

Это легко понять и продлить по мере необходимости.

Ответ 4

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

момент предоставляет много формат часов / даты и т. д.

Ответ 5

Я нашел Уилсон Ли и Брайана супер код! Вот как я адаптировал свой код:

Ответ 6

Попробуйте это, преобразовать секунды в ч:м:с.

(реагирую), как я должен преобразовать секунды прошли как реквизит делать часов минут секунд

Преобразование текстовых значений времени в допустимый формат даты в JavaScript

преобразование секунд в чч:мм:сс

Правильный синтаксис для применения метода в визуализации (), используя функции стрелкой

как я могу проверить, если элемент скрыт в jquery?

как включить javascript-файл в другой файл javascript?

как я могу перенаправить на другую страницу?

как удалить конкретный элемент из массива в javascript?

как мне удалить свойство из объекта javascript?

как сделать замыкания в javascript работает?

как проверить, является ли строка содержит подстроку в javascript?

как преобразовать минуты в дни,часы,минуты

как проверить адрес электронной почты в javascript

Как бы я быть в состоянии преобразовать дней в часы?

что значит “использовать строгие” в javascript, и по какой причине это?

Когда запускается таймер через 60 секунд показывают минуты и часы

который равен оператор (== против ===) должно быть использовано в javascript сравнения?

© 2020 — Вопросы и ответы по программированию

javascript — таймер обратного отсчета Javasacript в днях, часах, минутах, секундах

Я пытаюсь создать отсчет времени на основе времени. Это не основано на current_dates. Начальное время, которое будет извлечено, будет из отдельного файла php. Это будет для браузерной игры. Когда кто-то нажимает кнопку, чтобы запустить этот скрипт. он проверит, выполнены ли определенные требования, и если да, то этот сценарий будет запущен. Основываясь на уровне объекта, он установит начальный таймер для этого уровня. Надеюсь, что это имеет смысл. Во всяком случае, я основал скрипт таймера на основе первого кода, который я предоставляю.

Этот скрипт учитывает только минуты и секунды. Я изменил его, чтобы включить дни и часы. Где-то в процессе я запутался, и сценарий даже не работает вообще. Я также не совсем уверен, что это будет лучший способ для расчета этого. Итак, если у вас есть более чистый метод, пожалуйста, поделитесь. Заранее спасибо.

Этот скрипт основан на скрипте минут / секунд, который я видел. Вот оригинальный источник:

Вот модифицированный скрипт, который я пытаюсь включить дни, часы, минуты и секунды.

Решение

Я наконец вернулся к рассмотрению этого и переписал код, и это работает как шарм.

Как перевести часы в дни, часы и минуты?

У меня есть число в часах, мне нужно конвертировать его в дни, часы и минуты.

Например, у меня есть это количество часов 33.22

Мне нужно преобразовать это в дни, часы и минуты.

Результат должен быть 01.09:13:12 (т.е. один день 9 часов,13 минут и 12 секунд).

В настоящее время я делаю это:

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

Как я могу получить дни, часы и минуты, если у меня есть количество часов?

1 ответ

Я бы написал функцию convert который принимает ваш ввод (часы) в качестве параметра, преобразует его в секунды, вычисляет дни, часы и минуты и, наконец, возвращает отформатированную строку:

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL