
在 Angular 中使用 Flatpickr 实现 24 小时制时间选择时,关键在于正确使用 time24hr(无下划线)而非 time_24hr,并配合 dateFormat: 'H:i' 和 enableTime: true 等必要选项。
在 angular 中使用 flatpickr 实现 24 小时制时间选择时,关键在于正确使用 `time24hr`(无下划线)而非 `time_24hr`,并配合 `dateformat: 'h:i'` 和 `enabletime: true` 等必要选项。
Flatpickr 官方文档明确指出,启用 24 小时制的配置项名称为 time24hr(驼峰命名,不含下划线),而 time_24hr 是常见误写,会导致该选项被忽略,界面仍默认显示 AM/PM 格式。
以下是正确的 TypeScript 配置示例(已移除无效的 locale: French —— 若需法语支持,应先确保 French 已正确定义并导入):
import { French } from 'flatpickr/dist/l10n/fr.js'; // 如需法语本地化,请显式导入
flatpickrOptions = {
enableTime: true,
noCalendar: true,
time24hr: true, // ✅ 正确写法:无下划线,驼峰命名
dateFormat: 'H:i', // ✅ H 表示 24 小时制(0–23),i 表示分钟(00–59)
};对应 HTML 模板保持不变:
<input type="text" class="form-control" mwlFlatpickr [options]="flatpickrOptions" />
⚠️ 注意事项:
-
time24hr仅在enableTime: true时生效; -
dateFormat必须使用大写H(24 小时制)而非小写h(12 小时制),否则即使time24hr: true也显示为01:30形式; - 若引入了本地化(如
French),需确保其已通过import显式加载,并在flatpickrOptions中以locale: French形式传入(注意大小写与模块导出一致); -
noCalendar: true会隐藏日期面板,仅保留时间选择器——此配置与time24hr完全兼容。
✅ 验证方式:打开时间选择器后,小时滚动条应显示 00 至 23,且无 AM/PM 切换按钮。点击确认后,输入框内值格式为 14:45 类样式。
总结:Flatpickr 的配置名严格区分大小写与拼写,time24hr 是唯一有效键名。养成查阅官方配置文档的习惯,可避免多数集成类问题。

















