daterangepicker
10,971
Stars
3,238
Forks
354
Watchers
61
Open Issues
待补全
许可证
JavaScript
语言
2012-08-20
创建时间
2026-11-08
最近更新
项目能做什么
JavaScript 日期范围与日期时间选择器组件。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# Date Range Picker 4

This date range picker component creates a dropdown menu from which a user can
select a range of dates. I created it while building the UI for [Improvely](http://www.improvely.com),
which needed a way to select date ranges for reports.
Features include limiting the selectable date range, localizable strings and date formats,
a single date picker mode, a time picker, and predefined date ranges.
## Browser setup
Copy `daterangepicker.js` and `daterangepicker.css` to your site.
```html
<link rel="stylesheet" href="daterangepicker.css">
<input id="dates" aria-label="Report dates">
<script src="daterangepicker.js"></script>
<script>
const picker = new DateRangePicker('#dates', {
locale: { format: 'YYYY-MM-DD' },
ranges: { Today: [new Date(), new Date()] }
});
document.querySelector('#dates').addEventListener('apply.daterangepicker', event => {
console.log(event.detail.startDate.toDate(), event.detail.endDate.toDate());
});
</script>
```
## Package and framework usage
```js
import DateRangePicker from 'daterangepicker';
import 'daterangepicker/daterangepicker.css';
const picker = new DateRangePicker(inputElement, options, (start, end, label) => {
console.log(start.format('YYYY-MM-DD'), end.format('YYYY-MM-DD'), label);
});
```
Create the picker after its element mounts and call `picker.remove()` when it unmounts. In React, create it in `useEffect` and return the cleanup function. In Vue, use `onMounted` and `onBeforeUnmount`. In Angular, use `ngAfterViewInit` and `ngOnDestroy`. Importing the module is safe during server rendering. TypeScript declarations ship with the package. CommonJS callers can use `require('daterangepicker')`. Browser modules can import the standalone `daterangepicker.mjs` directly.
Use `setStartDate`, `setEndDate` and `setRanges` to update a mounted picker. Pass `null` to `setRanges` to remove the preset list. A second constructor call on the same element replaces the first picker. `DateRangePicker.getInstance(element)` returns its current instance.
## Existing installations
Keep the application's existing jQuery and Moment script tags when replacing the picker file. The classic build registers `$.fn.daterangepicker` and the lowercase `window.daterangepicker` constructor. With Moment available, callbacks and date properties use genuine Moment objects with the application's locale and plugins. CommonJS also discovers installed legacy peers. Applications that use these libraries directly should declare them as their own dependencies.
For ES modules that keep jQuery or Moment private to the module, register the imported copies once before initializing legacy widgets:
```js
import $ from 'jquery';
import moment from 'moment';
import DateRangePicker from 'daterangepicker';
DateRangePicker.installJQuery($, moment);
$('#dates').daterangepicker(options);
```
The plugin supports chaining, `$.fn.daterangepicker.defaultOptions`, `
阅读完整原文
项目深度分析 AI 生成
现代化原生框架高级组件库 (React/Vue/Svelte Pro 版)
| 产品构想 | 基于该项目经典的 UI 交互范式,去除 jQuery/Moment 历史包袱,打造针对现代框架的轻量零依赖高阶商业 UI 组件,提供对比时间段选择、多时区展示等高级企业功能。 |
| 核心功能 | 无三方依赖、深度支持 React/Vue3/Svelte、内置同环比对比选区功能、全局时区即时切换、无障碍访问 (a11y) 支持、主题定制系统。 |
| 目标用户 | 构建 B 端 SaaS、数据分析仪表盘的前端开发团队及独立开发者。 |
| 难度/周期 | 中等 · 1-2 个月 · 成本:极低(仅代码开发与文档站点搭建,无后端/GPU/DB开销) |
| 收费模式 | 双重许可模式(Dual-licensing)或一次性商业组件授权(Pro 版本买断/年订阅)。 |
| 竞争风险 | 现代成熟 UI 库(如 MUI、Ant Design、shadcn/ui)自带日期组件,竞争极其激烈,单纯组件收费难度大。 |
| 依据 | AI推测 |
遗留系统前端技术栈迁移与兼容支持服务
| 产品构想 | 针对大量仍在使用 jQuery/Moment/daterangepicker 的老旧企业系统,提供代码平滑迁移与现代化改造的咨询及兼职支持服务。 |
| 核心功能 | 遗留代码审计、去除 Moment.js 瘦身方案、无缝替换为原生 JS 方案的代码包、兼容性回归测试指南。 |
| 目标用户 | 维护 5-10 年以上遗留 Web 系统的中小型企业、外包维护团队。 |
| 难度/周期 | 低 · 按需/短期咨询(单次 1-2 周) · 成本:人力时间成本为主 |
| 收费模式 | 按项目收取技术咨询费或固定迁移服务费。 |
| 竞争风险 | 需求离散且获客渠道分散,难以规模化复制。 |
| 依据 | 尚需验证的假设 |
数据分析与报表模板套件(Dashboard Starter Kit)
| 产品构想 | 以 daterangepicker 为核心交互点,打造开箱即用的数据报表与分析看板模板,包含图表联动、日期筛选状态管理等现成方案。 |
| 核心功能 | 集成日期范围联动的精美仪表盘模板、多种常见分析场景(留存、营收、流量)的开箱即用状态处理、响应式与深色模式支持。 |
| 目标用户 | 需要快速交付管理后台、分析大屏的自由职业者、外包团队与初创公司。 |
| 难度/周期 | 中等 · 1 个月 · 成本:极低(前端模板托管成本) |
| 收费模式 | 在 UI 模板平台(如 ThemeForest、Gumroad)以数字商品形式按份销售。 |
| 竞争风险 | 模板市场同质化严重,需要极高的设计水平和推广流量支持。 |
| 依据 | AI推测 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
相似项目数据正在完善中,暂不展示(避免误导)
项目优势与风险
| 技术成熟度 | 创建于 2012-08-20,近 30 天仍在推送,发布过 64 个 Release |
| 社区活跃 | Star 10,971 / Fork 3,238 / Issue 61(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。