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

时间:2019-01-30 16:53:03

标签: javascript php jquery html backend

我的日期数据库中有一列,用于存储用户提供工作时选择的日期。目前以这种方式形成:“ 2019年2月15日星期五”。

我希望能够将其与当前日期进行比较,该日期的格式为:“ 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>




2 个答案:

答案 0 :(得分:0)

我建议使用名为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

答案 1 :(得分:0)

在整个页面中打开示例:

使用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">