获取日期选择器的正确格式

Getting the correct format of the datepicker

我的数据库中有一列存储用户在提供工作时选择的日期。目前是这样构成的:"Fri Feb 15 2019".

我希望能够将其与当前日期进行比较,当前日期的格式为:“2019-01-27”

我猜最好的方法是将日期选择器格式转换为日期格式,然后比较它们。这是我目前在有人注册时用于日期选择器的代码。

<div class="form-group">                                             
<label for="location" class="control-label">DATE</label>                                                         
<input type="text" id="datepicker" class="form-control" placeholder="Pick a 
date" name="datepicker">                                             
</div>
   <script>
    var picker = new Pikaday({ field: document.getElementById('datepicker') }); 
    </script>




我建议使用名为 Momentjs 的 javascript 插件。它允许轻松格式化日期,没有基本 javascript 麻烦。

将此添加到您的 HTML,靠近页面底部,但在脚本标记之前:

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>

然后要格式化您的日期选择器值,请在您的脚本中使用:

var myDate = moment(picker.value).format('YYYY-MM-DD'); 

这是 Momentjs 文档: Momentjs Docs

在整页中打开示例:

使用new Date然后你可以提取daymonthyear

要与另一个日期进行比较,您可以 new Date("2006-05-1").getMonth() === new Date("2006-05-2").getMonth() && ...

var picker = new Pikaday({
  field: document.getElementById('datepicker')
});


const dateInput = document.getElementById('datepicker');

function handleChange() {
  const date = new Date(dateInput.value),
    formattedDate = `${date.getFullYear()}-${date.getMonth()+1}-${date.getDate()}`;
  console.log(formattedDate)
}

dateInput.addEventListener("change", handleChange);
<script src="https://cdn.jsdelivr.net/npm/pikaday/pikaday.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/pikaday/css/pikaday.css">
<input type="text" id="datepicker">