【问题标题】:Date format by JavaScript to dd/MM/YYYYJavaScript 将日期格式转换为 dd/MM/YYYY
【发布时间】:2016-08-11 10:38:30
【问题描述】:

我想将日期格式更改为 "dd/MM/YYYY",当我更改它时,又给了我一个错误的日期。 adddate() 函数设置默认到达日期和出发日期 加载日期 .changedDate() 当我更改到达日期时更改出发日期。

addDate();
function addDate() {
  date = new Date();
  var month = date.getMonth() + 1;
  var day = date.getDate();
  var year = date.getFullYear();

  if (document.getElementById('startDate').value == '') {
    document.getElementById('startDate').value = month + '/' + day + '/' + year;
  }
  if (document.getElementById('endDate').value == '') {
    document.getElementById('endDate').value = month + '/' + (day + 1) + '/' + year;
  }
}
function changedDate(){
  var arrivalDate = new Date(document.getElementById('startDate').value) ;
  var departureDate = new Date(document.getElementById('endDate').value) ;
  if(arrivalDate>=departureDate){
    var arrDate = new Date();
    arrDate.setDate(arrivalDate.getDate()+1);
    arrDate.setMonth(arrivalDate.getMonth()+1);
    arrDate.setFullYear(arrivalDate.getFullYear());
    document.getElementById('endDate').value = arrDate.getMonth() + '/' + arrDate.getDate() + '/' + arrDate.getFullYear();
  }
}
<input type="text" id="startDate" style="background-color:#5c677b;height:25px;" name="checkin" placeholder="checkin" onchange="changedDate()">
<input type="text" id="endDate" style="background-color:#5c677b;height:25px;" name="checkout" placeholder="checkout">

【问题讨论】:

  • 是的,但我希望日期为 d/m/y
  • @Jaromanda X,他的代码中有一个 .getMonth()+1 来处理这个问题
  • 到达 m/d/y 出发 m/d+1/y 这是我的输出
  • @8odoros 更改日期的问题我得到 11/08/2016 12/08/2016 当我更改到达日期时没有任何改变
  • @JaromandaX 是的,问题是我想将日期格式从 mm/dd/yyyy 更改为 dd/mm/yyyy,这就是我想要的

标签: javascript date datetime datepicker


【解决方案1】:

您已指定月份 + 日期 + 年份。如下更改。

addDate();

function addDate() {
  date = new Date();
  var month = date.getMonth() + 1;
  if (month < 10)
    month = '0' + month;
  var day = date.getDate();
  if (day < 10)
    day = '0' + day;
  var year = date.getFullYear();

  if (document.getElementById('startDate').value == '') {
    document.getElementById('startDate').value = day + '/' + month + '/' + year;
  }
  if (document.getElementById('endDate').value == '') {
    document.getElementById('endDate').value = (day + 1) + '/' + month + '/' + year;
  }
}

function changedDate() {
  var startDate = document.getElementById('startDate').value.split("/");
  var endDate = document.getElementById('endDate').value.split("/");

  var arrivalDate = new Date(startDate[2], startDate[1] - 1, startDate[0]);
  var departureDate = new Date(endDate[2], endDate[1] - 1, endDate[0]);

  if (arrivalDate >= departureDate) {
    var arrDate = arrivalDate;
    arrDate.setDate(arrDate.getDate() + 1);

    var month = arrDate.getMonth() + 1;
    if (month < 10)
      month = '0' + month;
    var day = arrDate.getDate();
    if (day < 10)
      day = '0' + day;
    var year = arrDate.getFullYear();

    document.getElementById('endDate').value = day + '/' + month + '/' + year;
  }
}
<input type="text" id="startDate" style="background-color:#5c677b;height:25px;" name="checkin" placeholder="checkin" onchange="changedDate()">
<input type="text" id="endDate" style="background-color:#5c677b;height:25px;" name="checkout" placeholder="checkout">

【讨论】:

  • @hashim : 当arrivalDate &gt;= departureDate 时你想做什么??
  • 当到达日期更改时更改出发日期在出发日期上加一天
【解决方案2】:

有一个名为moment.js 的免费库,您可以在其中非常轻松地使用日期格式。

moment().format('dd/MM/YYYY');

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2012-03-05
    相关资源
    最近更新 更多