Как сохранить текущую дату и время, когда произошло событие

#javascript #date #time

#javascript #Дата #время

Вопрос:

В настоящее время я хочу создать приложение диспетчера контактов, и мне нужно получить текущее время и дату, когда пользователь создает новый контакт. Проблема в том, что я не могу найти способ сохранить текущее время и дату, когда пользователь создал контакт. Я попытался получить текущее время и дату и преобразовать их в JSON, но теперь он обновляется до текущего времени, чего я не хочу, вместо этого я хочу получить текущее время, когда пользователь установил контакт, и сохранить это текущее время. Как я могу добиться этого, используя чистый Javascript.

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

HTML

 <html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <button id="btn" onclick="clicked()">Click me</button>
  </body>
</html>
  

JS

 const date = new Date();

function clicked() {
   localStorage.setItem("currentDate", JSON.stringify(date));
   var getDate = JSON.parse(localStorage.getItem("currentDate"));
    document.body.innerHTML  = getDate;
}
  

Комментарии:

1. const currentTime = new Date();

2. @ScottMarcus, который не сохраняет текущую дату и время. Мне нужно получить текущую дату и время и сохранить их. Ваш код просто дает мне текущую дату, но не сохраняет ее.

3. Он сохраняет его. Он сохраняет его в переменной. Вы должны определить, что вы подразумеваете под «хранить». Как долго вы хотите его «хранить»?

4. Я хотел бы сохранить его так, как это делает локальное хранилище. Сохранение этой текущей даты и времени, когда пользователь устанавливает новый контакт в течение длительного времени (навсегда). Поэтому, когда пользователь проверяет наличие контакта, он может видеть дату и время, когда он установил этот контакт.

5. Поэтому сохраните его в localStorage. Сделайте это в момент создания нового контакта: localStorage.setItem("currentDate", JSON.stringify(new Date());

Ответ №1:

Каждый раз, когда вы нажимаете на кнопку, она устанавливает новую дату и время.

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

 document.querySelector("#timediv").innerHTML = theDate;
  

Ниже приведены функции обновления javascript

 function getDate(){
   var theDate = JSON.parse(localStorage.getItem("currentDate") || "[]");
   document.body.innerHTML  = theDate   "<br>";
}    

 function clicked() {
   if (!localStorage.getItem("currentDate")) {
     localStorage.setItem("currentDate", JSON.stringify(new Date()));
   }
   
   getDate();
 }
  

Комментарии:

1. Когда я нажимаю кнопку каждый раз, это дает мне обновленное время (время записи сейчас). Я хочу, чтобы при нажатии кнопки она возвращала то же время, а не обновлялась сама. Поэтому я хочу, чтобы он сохранял текущее время и дату, когда была нажата кнопка, и отображал это время и дату, когда была нажата кнопка. Как я могу это сделать?

2. Большое спасибо, я пытался получить решение в течение нескольких часов.