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

如何在JavaScript日历配置选项中自动将day值设置为当前日期?

如何在JavaScript日历配置选项中自动将day值设置为当前日期?

嘿,别担心,这事儿其实不难~你之前尝试用getDate()可能只是没处理好日期的格式化,毕竟日历插件要求的是YYYY-MM-DD这种标准格式,直接拿原生Date对象的方法返回值拼接容易出问题,比如月份会是0-11的数字,日期也可能是个位数,得补零才行。

我给你两种简单的实现方式,你可以按需选择:

方式一:手动拼接格式化日期

这种方式逻辑清晰,适合新手理解每一步的操作:

  • 先创建当前日期的实例
  • 分别提取年、月、日,处理成两位数格式
  • 拼接成插件要求的字符串格式

把下面的代码整合到你的配置里就行:

(function($) {
"use strict";

// 生成格式化后的当前日期
const today = new Date();
const year = today.getFullYear();
// 月份是0-11,所以要加1,padStart补零确保是两位数
const month = String(today.getMonth() + 1).padStart(2, '0');
// 日期补零确保是两位数
const day = String(today.getDate()).padStart(2, '0');
const formattedToday = `${year}-${month}-${day}`;

var options = {
  events_source: 'event.php',
  view: 'month',
  tmpl_path: 'tmpls/',
  tmpl_cache: false,
  day: formattedToday, // 替换成自动生成的当前日期
  onAfterEventsLoad: function(events) {
    if(!events) {
      return;
    }
    var list = $('#eventlist');
    list.html('');
    $.each(events, function(key, val) {
      $(document.createElement('li'))
        .html('<a href="' + val.url + '">' + val.title + '</a>')
        .appendTo(list);
    });
  },
  // 这里补充你代码中未写完的其他配置项
};

// 后续的日历插件初始化代码...
})(jQuery);

方式二:用原生API快速格式化

如果觉得手动拼接太麻烦,也可以用toISOString()方法快速得到标准格式的日期,代码更简洁:

(function($) {
"use strict";

// 封装成函数,方便复用
function getTodayFormatted() {
  // toISOString会返回类似"2024-05-20T12:34:56.789Z"的字符串,拆分后取前半部分就是YYYY-MM-DD
  return new Date().toISOString().split('T')[0];
}

var options = {
  events_source: 'event.php',
  view: 'month',
  tmpl_path: 'tmpls/',
  tmpl_cache: false,
  day: getTodayFormatted(), // 直接调用函数获取当前日期
  onAfterEventsLoad: function(events) {
    if(!events) {
      return;
    }
    var list = $('#eventlist');
    list.html('');
    $.each(events, function(key, val) {
      $(document.createElement('li'))
        .html('<a href="' + val.url + '">' + val.title + '</a>')
        .appendTo(list);
    });
  },
  // 这里补充你代码中未写完的其他配置项
};

// 后续的日历插件初始化代码...
})(jQuery);

这两种方法都能自动把day设置成当天的日期,你可以挑顺手的用~

备注:内容来源于stack exchange,提问作者Onur YILDIRIM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 08:42:48