Получить текущую дату и сравнить с датой создания блога, чтобы определить, показывать или нет - PullRequest
0 голосов
/ 09 мая 2019

Я написал несколько javascript как часть приложения Vue JS, в котором есть очень простой блог.

Я хочу иметь возможность скрыть запись в блоге, если в будущем дата создания блога будет установлена ​​на основе даты и времени. Это строковый формат, который будет введен вручную.

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

Я написал код и прикреплю его следующим образом:

HTML-разметка

<div id="app">
  <div class="blog-card" v-for="blog in blogs" :key="blog.id" v-if="activeBlogDate >= blog.date">
    {{ blog.title }}
    {{ blog.date }}
  </div>
  {{ activeBlogDate }}
</div>

JS

new Vue({
  el: '#app',
  data: {
    activeBlogDate: null,
    blogs: [
      {
        title: "blog title 1",
        date: "2019-08-30 16:08:16"
      },
      {
        title: "blog title 2",
        date: "2019-05-09 19:51:16"
      }
    ]
  },
  created() {
    var d = new Date();

    var currentYear = d.getFullYear()
    var currentMonth = d.getMonth() + 1
    var currentDay = d.getDate()

    var currentHour = d.getHours()
    var currentMinute = d.getMinutes()
    var currentSecond = d.getSeconds()

    if (currentMonth < 10) currentMonth = '0' + currentMonth
    if (currentDay < 10) currentDay = '0' + currentDay

    var currentDateTime = currentYear + '-' + currentMonth + '-' + currentDay + ' ' + currentHour + ':' + currentMinute + ':' + currentSecond

    this.activeBlogDate = currentDateTime

    setInterval(() => {
      this.activeBlogDate = currentDateTime
    }, 1000)

  }
});

Хотя это, кажется, работает, и я понимаю, что это требует небольшой доработки, я чувствую, что это может быть довольно ненадежным, учитывая количество кода, чтобы просто получить текущую дату / время, чтобы соответствовать формату даты в блоге по объектам.

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

Есть ли более чистый способ делать то, что я делаю здесь?

...