Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.07.2018, 15:02
Интересующийся
Отправить личное сообщение для Igordey Посмотреть профиль Найти все сообщения от Igordey
 
Регистрация: 20.02.2018
Сообщений: 18

Преобразовать данные в дату и время
Есть
<div id="checkSertificateContainer"></div>

В этот контейнер выводится данные в формате Unix времени из скрипта:
let val = contractInstance.checkSertificate(adreess1, address2).toString();
 $("#checkSertificateContainer").html(val);

Вопрос.
Каким образом данные в контейнере преобразовать в читабельный формат даты и времени?

Последний раз редактировалось Igordey, 02.07.2018 в 15:04.
Ответить с цитированием
  #2 (permalink)  
Старый 02.07.2018, 15:12
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Igordey,
unix-формат - в секундах, JS - в миллисекундах, поэтому

new Date(val * 1000)
Ответить с цитированием
  #3 (permalink)  
Старый 02.07.2018, 15:17
Интересующийся
Отправить личное сообщение для Igordey Посмотреть профиль Найти все сообщения от Igordey
 
Регистрация: 20.02.2018
Сообщений: 18

А куда прописать этот код?
Ответить с цитированием
  #4 (permalink)  
Старый 02.07.2018, 15:26
Интересующийся
Отправить личное сообщение для Igordey Посмотреть профиль Найти все сообщения от Igordey
 
Регистрация: 20.02.2018
Сообщений: 18

Спасибо большое. Сообразил куда прописать.
$("#checkSertificateContainer").html(new Date(val * 1000));
Ответить с цитированием
  #5 (permalink)  
Старый 02.07.2018, 15:42
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Igordey,
И как, работает?
По идее, нужно
let val = contractInstance.checkSertificate(adreess1, address2);
 $("#checkSertificateContainer").html((new Date(val * 1000)).toString());
Ответить с цитированием
  #6 (permalink)  
Старый 02.07.2018, 15:48
Интересующийся
Отправить личное сообщение для Igordey Посмотреть профиль Найти все сообщения от Igordey
 
Регистрация: 20.02.2018
Сообщений: 18

Работает. Я прописал так
let val = contractInstance.checkSertificate(adreess1, address2).toString();
$("#checkSertificateContainer").html(new Date(val * 1000));

Получается работает так и так.
Спасибо большое.
Ответить с цитированием
  #7 (permalink)  
Старый 02.07.2018, 16:16
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Dilettante_Pro, не, val - по умолчанию string.
Igordey, а вот checkSertificate toString - это бессмыслено, т.к. * обратно в number его кидает.
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 02.07.2018, 16:25
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

.toString() в вашем варианте - лишнее.

<div id = 'checkSertificateContainer'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
   let val = 1530538138;
   $("#checkSertificateContainer").html(new Date(val * 1000));

</script>
Ответить с цитированием
  #9 (permalink)  
Старый 02.07.2018, 19:29
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от Igordey Посмотреть сообщение
Каким образом данные в контейнере преобразовать в читабельный формат даты и времени?
Используйте класс Intl.DateTimeFormat

<div id="checkSertificateContainer"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

const date = new Date(1530538138 * 1000);
$("#checkSertificateContainer").html(new Intl.DateTimeFormat("ru", {
  year: "numeric", month: "long", day: "numeric", weekday: "long",
  hour: "numeric", minute: "numeric", second: "numeric",
  hour12: false
}).format(date));

</script>


https://caniuse.com/#search=Intl

Последний раз редактировалось Malleys, 02.07.2018 в 19:35. Причина: Добавлена ссылка
Ответить с цитированием
  #10 (permalink)  
Старый 08.07.2018, 15:03
Интересующийся
Отправить личное сообщение для Igordey Посмотреть профиль Найти все сообщения от Igordey
 
Регистрация: 20.02.2018
Сообщений: 18

Вот тут развивая эту тему появилась задача. Как сделать чтобы нулевое значение даты не отражалась, а вместо нулевого значения, которое соответственно преобразуется в предложеных вариантах ответа в дату 1 января 1970 года, вывелось что-то типа "данные отсутствуют".
пробовал такой код
let val = contractInstance.checkSertificate(CoopAddess, member).toString();
  		$("#checkSertificateContainer") ('!=0').html(new Date(val * 1000));

после ввода данных ошибка:
TypeError: $(...) is not a function
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Данные формы преобразовать в XML jonick Общие вопросы Javascript 0 24.07.2015 09:33
initComponent: Как получить данные родителя и как получить store для вызова load()? Пролетарий ExtJS 76 04.07.2015 09:22
Как передать данные в другую панель из выбранной строки таблицы. layout: 'card'. Пролетарий ExtJS 5 03.06.2015 22:53
Отобразить данные формы на другой странице Bumer Events/DOM/Window 10 02.04.2015 18:10
Не совсем обычный фрейм и выезжающий текст при наводе на картинку. amaz245 Элементы интерфейса 35 25.12.2010 17:29