You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改AIR DATEPICKER插件的日期格式为yyyy-mm-dd 时分形式?

问题:修改Air Datepicker日期显示格式

我在页面的日期时间字段中使用Air Datepicker插件,默认占位符的日期格式为2022-09-01,但从日历选择日期后,显示的值为22 September 2022 00:00 am。我希望获取的日期值格式为2022-09-22 00:00 am,请问该如何修改日期格式?

现有代码

HTML代码

<input type="text" class="form-control col-md-2 datetimepicker d-inline" id="dfield" name="scheduleField" value=""/>

JavaScript代码

const dateInput = document.getElementById("dfield");
// 使用访问者时区
//dateInput.value = formatDate();
dateInput.value = new Date().toISOString().split("T")[0];

function padTo2Digits(num) {
  return num.toString().padStart(2, "0");
}

function formatDate(date = new Date()) {
  return [
    date.getFullYear(),
    padTo2Digits(date.getMonth() + 1),
    padTo2Digits(date.getDate()),
  ].join("-");
  // dateInput.value = new Date().toISOString().split('T')[0];
}

解决方案

Air Datepicker自带日期格式配置项,无需额外编写独立格式化函数,直接在初始化插件时指定dateFormat参数即可实现需求。

修改后的JavaScript代码如下:

const dateInput = document.getElementById("dfield");

// 初始化Air Datepicker并配置格式
new AirDatepicker(dateInput, {
  dateFormat: "yyyy-MM-dd hh:mm aa", // 目标格式:年-月-日 时:分 上午/下午
  autoClose: true, // 可选:选择日期后自动关闭日历面板
  
  // 初始化时设置符合格式的当前日期
  onReady() {
    dateInput.value = formatDateTime(new Date());
  },
  
  // 选择日期后同步格式化显示
  onSelect({ date }) {
    dateInput.value = formatDateTime(date);
  }
});

// 辅助函数:生成指定格式的日期时间字符串
function padTo2Digits(num) {
  return num.toString().padStart(2, "0");
}

function formatDateTime(date = new Date()) {
  const hours12 = padTo2Digits(date.getHours() % 12 || 12);
  const minutes = padTo2Digits(date.getMinutes());
  const period = date.getHours() >= 12 ? "pm" : "am";
  
  return `${date.getFullYear()}-${padTo2Digits(date.getMonth() + 1)}-${padTo2Digits(date.getDate())} ${hours12}:${minutes} ${period}`;
}

关键说明

  • dateFormat参数是Air Datepicker的核心格式配置,各占位符含义:
    • yyyy:4位完整年份(如2022)
    • MM:2位月份(01-12)
    • dd:2位日期(01-31)
    • hh:12小时制的小时(01-12)
    • mm:2位分钟(00-59)
    • aa:小写的上午/下午标识(am/pm)
  • 如果不需要自定义初始值逻辑,仅通过dateFormat配置即可让插件自动处理选择后的显示格式,只需确保初始值也符合该格式即可。

内容的提问来源于stack exchange,提问作者V.K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 19:48:24