javascript - 使用日期选择器选择日期然后显示日期减去一天

标签 javascript jquery datepicker

我正在尝试使用日期选择器选择一个日期,然后显示该日期减去一天。

例如,在下面的代码中,我希望用户能够选择“2020 年 3 月 15 日星期日”,但我希望在单击“2020 年 3 月 14 日星期六”时显示“按钮。

我很难找到/弄清楚答案。任何帮助将不胜感激!

$(function() {
  $("#datepicker").datepicker({
    dateFormat: "DD, MM d, yy",
    minDate: 0,
  });
});

function showDate() {

  var dateOptions = {
    weekday: "long",
    year: "numeric",
    month: "long",
    day: "numeric"
  };
  var selectedDate = $("#datepicker").datepicker("getDate");
  var currentLanguage = $("#language option:selected").val();
  var dateClass = document.getElementsByClassName("date");
  for (var i = 0; i < dateClass.length; i++) {
    dateClass[i].innerHTML = selectedDate.toLocaleDateString(currentLanguage, dateOptions);
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>

<table>
  <tr>
    <td>Please select the event date.</td>
    <td>&nbsp;&nbsp;<input type="text" id="datepicker" size="30" autocomplete="off"></td>
  </tr>
</table>

<button onclick="showDate()">Show Date/button</button>

<p>Please send the notice on <span class="date"></span>.</p>

最佳答案

通常我总是欣赏普通的 JS 方法,但是当涉及到日期/时间处理时,我真的不推荐 moment.js够了,就像 Shaun said .

在这种情况下,subtract(1, 'd') 将完成这项工作,.format('LL') 将打印一个区域设置感知的用户友好的输出。

$(function() {
  $("#datepicker").datepicker({
    dateFormat: "DD, MM d, yy",
    minDate: 0,
  });
});

function showDate() {

  var dateOptions = {
    weekday: "long",
    year: "numeric",
    month: "long",
    day: "numeric"
  };
  var selectedDate = $("#datepicker").datepicker("getDate");
  var currentLanguage = $("#language option:selected").val();
  var dateClass = document.getElementsByClassName("date");
  for (var i = 0; i < dateClass.length; i++) {
    dateClass[i].innerHTML = moment(selectedDate).subtract(1, 'd').format('LL');
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>

<table>
  <tr>
    <td>Please select the event date.</td>
    <td>&nbsp;&nbsp;<input type="text" id="datepicker" size="30" autocomplete="off"></td>
  </tr>
</table>

<button onclick="showDate()">Show Date/button</button>

<p>Please send the notice on <span class="date"></span>.</p>

关于javascript - 使用日期选择器选择日期然后显示日期减去一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60699459/

相关文章:

javascript - 使用 jquery 更改相应类的所有直接元素

angular - 禁用标记的 ng-bootstrap 不适用于其他日期选择器示例

javascript - 完整日历在日期中添加图像

javascript - 是否需要将scss文件转换为css

javascript - 如何正确应用KO绑定(bind)下面的例子

javascript - 如何在多语言网站中翻译JS中的单词?

javascript - 单击更改颜色输入字段

javascript - Jquery 添加尽可能多的跨度来填充一个 div

jquery-ui - Jquery selectBox 与 jquery ui datepicker 冲突

jquery - 如何打破 Jquery UI 日期选择器中的日期值?