flatpickr功能强大的日期时间选择器插件

flatpickr日期时间选择器支持移动手机,提供多种内置的主题效果,而且提供对中文的支持。它的特色还有:css

  • 使用SVG做为界面的图标。git

  • 兼容jQuery。github

  • 支持对各类日期格式的解析。bootstrap

  • 轻量级,高性能,压缩后的版本仅6K大小。函数

  • 对手机原生日期格式的支持。性能

下图说明了使用jQuery UI、Bootstrap、packadate.js和flatpickr拉齐制做一个日期时间选择器时,所须要的文件尺寸大小:spa

flatpickr和其它日期时间选择器插件的比较

下图是flatpickr日期时间选择器的各类主题效果:插件

flatpickr日期时间选择器的各类主题效果

配置参数

在配置参数中,全部的类型为stringboolean的参数均可以经过data-属性在HTML标签中进行设置。例如:data-min-datedata-default-datedata-default-date等。code

参数 类型 默认值 描述
altFormat string "F j, Y" altInput的日期格式。
altInput Boolean false 是否使用某种用户友好的方式来显示日期时间。
altInputClass String "" 添加到input上的自定义class类。例如bootstrap用户可能须要添加一个form-control class。
allowInput boolean false 是否容许用户直接在输入框中输入日期。
clickOpens boolean true 是否在点击输入框时打开日期时间选择界面。若是你想经过手动.open()方法来打开,该选项设置为false
dateFormat string "Y-m-d" 设置日期显示格式。
defaultDate String/Date Object null 设置一个初始的日期。
disable array [] 被禁用的日期。
enableTime boolean false 是否启用时间选择。
enableSeconds boolean false 在时间选择器中是否能够选择秒。
noCalendar boolean false 是否隐藏日历。
hourIncrement integer 1 小时输入框的步长。
minuteIncrement integer 5 分钟输入框的步长。
inline boolean false 是否之内联的方式显示日历。
static boolean false 日期选择器位于包裹容器的位置。
wrap Boolean false 包裹元素。
maxDate String null 用户能够选择的最大日期。
minDate String null 用户能够选择的最小日期。
onChange function(dateObject, dateString) null 每第二天期被选择的时候都触发该函数。
onOpen function(dateObject, dateString) null 每第二天历被打开时都会触发该函数。
onClose function(dateObject, dateString) null 每第二天历被关闭时都会触发该函数。
parseDate function false 接收一个日期字符串并返回一个日期对象。
shorthandCurrentMonth boolean false 以简写方式显示月份
weekNumbers boolean false 是否在日历中显示星期数。
time_24hr boolean false 是否以24小时格式来显示时间。
utc boolean false 若是为true,日期将会被解析、格式化和显示为UTC格式。
prevArrow string < 向前箭头图标。
nextArrow string > 向后箭头图标。
 日期格式字符
字符 描述 示例
d 月份中的天数,若是不满2个数字的会前导0。 01 - 31
D 一个星期中某一天的简写文本表示 Mon - Sun
l(小写的L) 一个星期中某一天的文本表示 Sunday - Saturday
j 不带前导0的月份中的天数 1 - 31
J 带序号后缀,不带前导0的月份中的天数 1st, 2nd, to 31st
w 使用数字来表明星期中的某一天 0 (星期天) - 6 (星期六)
F 月份的完整文本表示 January - December
m 使用数字来表示月份,前导带0。 01 - 12
n 使用数字来表示月份,前导不带0。 1 - 12
M 月份的简写文本表示 Jan - Dec
U 时间戳 1413704993
y 两个数字表明的年 99 or 03
Y 4个数字表明的年 1999 or 2003
 时间格式字符
字符 描述 示例
H 24小时制 00 to 23
h 12小时制 1 to 12
i 分钟 00 to 59
S 秒(不满2位数补0) 00 to 59
s 0 - 59
K AM/PM AM or PM

关于该日期时间选择器的本地化和其它一些使用方法,请参考演示页面中的DEMO。orm

flatpickr日期时间选择器插件的github地址为:https://github.com/chmln/flatpickr

 

 

 

使用方法:

在页面中引入flatpicker.css和flatpicker.js文件。

<link rel="stylesheet" type="text/css" href="/path/to/flatpickr.css">
<script src="/path/to/flatpickr.js"></script>

HTML示例:

<input id="myID">

初始化插件:

document.getElementsByClassName("myClass").flatpickr({..config});
document.getElementById("myID").flatpickr();    //  两种js初始化方法
$(".calendar").flatpickr(); // jQuery初始化方法

配置参数

在配置参数中,全部的类型为string或boolean的参数均可以经过data-属性在HTML标签中进行设置。例如:data-min-date、data-default-date、data-default-date等。

参数 类型 默认值 描述
altFormat string "F j, Y" altInput的日期格式。
altInput Boolean false 是否使用某种用户友好的方式来显示日期时间。
altInputClass String "" 添加到input上的自定义class类。例如bootstrap用户可能须要添加一个form-control class。
allowInput boolean false 是否容许用户直接在输入框中输入日期。
clickOpens boolean true 是否在点击输入框时打开日期时间选择界面。若是你想经过手动.open()方法来打开,该选项设置为false。
dateFormat string "Y-m-d" 设置日期显示格式。
defaultDate String/Date Object null 设置一个初始的日期。
disable array [] 被禁用的日期。
enableTime boolean false 是否启用时间选择。
enableSeconds boolean false 在时间选择器中是否能够选择秒。
noCalendar boolean false 是否隐藏日历。
hourIncrement integer 1 小时输入框的步长。
minuteIncrement integer 5 分钟输入框的步长。
inline boolean false 是否之内联的方式显示日历。
static boolean false 日期选择器位于包裹容器的位置。
wrap boolean false 包裹元素。
maxDate String null 用户能够选择的最大日期。
minDate String null 用户能够选择的最小日期。
onChange function(dateObject, dateString) null 每第二天期被选择的时候都触发该函数。
onOpen function(dateObject, dateString) null 每第二天历被打开时都会触发该函数。
onClose function(dateObject, dateString) null 每第二天历被关闭时都会触发该函数。
parseDate function false 接收一个日期字符串并返回一个日期对象。
shorthandCurrentMonth boolean false 以简写方式显示月份
weekNumbers boolean false 是否在日历中显示星期数。
time_24hr boolean false 是否以24小时格式来显示时间。
utc boolean false 日期将会被解析、格式化和显示为UTC格式。
prevArrow string < 向前箭头图标。
nextArrow string > 向后箭头图标。

日期格式字符

字符 描述 示例
d 月份中的天数,若是不满2个数字的会前导0。 01 - 31
D 一个星期中某一天的简写文本表示 Mon - Sun
l(小写的L) 一个星期中某一天的文本表示 Sunday - Saturday
j 不带前导0的月份中的天数 1 - 31
J 带序号后缀,不带前导0的月份中的天数 1st, 2nd, to 31st
w 使用数字来表明星期中的某一天 0 (星期天) - 6 (星期六)
F 月份的完整文本表示 January - December
m 使用数字来表示月份,前导带0。 01 - 12
n 使用数字来表示月份,前导不带0。 1 - 12
M 月份的简写文本表示 Jan - Dec
U 时间戳 1413704993
y 两个数字表明的年 99 or 03
Y 4个数字表明的年 1999 or 2003

时间格式字符

字符 描述 示例
H 24小时制 00 to 23
h 12小时制 1 to 12
i 分钟 00 to 59
S 秒(不满2位数补0) 00 to 59
s 0 - 59
K AM/PM AM or PM

 

关于该日期时间选择器的本地化和其它一些使用方法,请参考演示页面中的DEMO。

相关文章
相关标签/搜索