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

如何通过PHP读取数据库日期并设置multiDatesPicker选中状态

如何用PHP给multiDatesPicker设置从数据库获取的选中日期

我来帮你搞定这个问题,其实步骤很清晰,咱们一步步来实现:

核心思路

数据库里的日期是dd-mm-yyyy格式的逗号分隔字符串,而multiDatesPicker需要接收可识别的日期数组(支持特定格式的字符串或Date对象)。我们需要把数据库的字符串转成插件能识别的格式,再传给JavaScript初始化插件。


方法一:直接用数据库日期格式(无需转换)

如果想保留数据库的dd-mm-yyyy格式,只需要告诉插件你的日期格式即可:

1. PHP端处理数据

先从数据库取出日期字符串,分割成数组后转成JSON格式:

// 假设从数据库查询得到的日期字符串
$db_dates = "02-05-2018, 15-05-2018, 27-05-2018";

// 分割字符串为单个日期数组,同时去除每个元素的空格
$date_list = array_map('trim', explode(',', $db_dates));

// 转成JSON格式,方便JS读取
$json_dates = json_encode($date_list);

2. JavaScript初始化插件

在初始化时指定dateFormat为dd-mm-yy,并传入处理好的日期数组:

<div id="myCalendar"></div>

<script>
$(document).ready(function() {
    // 从PHP获取处理好的日期数组
    var preSelectedDates = <?php echo $json_dates; ?>;

    // 初始化multiDatesPicker,设置日期格式并传入选中日期
    $("#myCalendar").multiDatesPicker({
        dateFormat: "dd-mm-yy",
        selectedDates: preSelectedDates
    });
});
</script>

方法二:转换为插件默认格式

如果不想修改插件的日期格式(默认是mm/dd/yy),可以在PHP端先转换日期格式:

1. PHP端处理数据

把dd-mm-yyyy转成mm/dd/yyyy格式:

$db_dates = "02-05-2018, 15-05-2018, 27-05-2018";
$date_list = array_map('trim', explode(',', $db_dates));

$formatted_dates = [];
foreach ($date_list as $date) {
    // 拆分日、月、年,重新组合格式
    list($day, $month, $year) = explode('-', $date);
    $formatted_dates[] = "$month/$day/$year";
}

$json_dates = json_encode($formatted_dates);

2. JavaScript初始化插件

直接使用默认格式,传入转换后的日期数组:

<div id="myCalendar"></div>

<script>
$(document).ready(function() {
    var preSelectedDates = <?php echo $json_dates; ?>;

    // 初始化插件,直接传入选中日期(默认格式无需额外设置)
    $("#myCalendar").multiDatesPicker({
        selectedDates: preSelectedDates
    });

    // 或者初始化后再添加日期,效果一样:
    // $("#myCalendar").multiDatesPicker('addDates', preSelectedDates);
});
</script>

注意事项

  • 确保jQuery和multiDatesPicker的脚本已经正确引入到页面中
  • 如果日期格式不匹配,插件会无法识别选中日期,一定要保证dateFormat参数和传入的日期格式一致
  • 处理数据库数据时,记得去除每个日期前后的空格(用trim),避免格式错误

内容的提问来源于stack exchange,提问作者Hardik Patil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:03:57