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

  • 使用SVG作为界面的图标。

  • 兼容jQuery。

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

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

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

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

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

配置参数

在配置参数中,所有的类型为stringboolean的参数都可以通过data-属性在HTML标签中进行设置。例如:data-min-datedata-default-datedata-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 如果为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。

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。

flatpickr功能强大的日期时间选择器插件的更多相关文章

  1. 日期时间选择器插件flatpickr

    前言:在网页上需要输入时间的时候,我们可以用HTML5的inputl中的date类型.但是如下入所示,有些浏览器不支持.flatpickr这个小插件可以解决这个问题. 1.flatpickr日期时间选 ...

  2. 24款最好的jQuery日期时间选择器插件

    如果你正在创建一个网络表单,有很多事情你需要在你的应用程序中使用.有时您需要特别的输入,从用户的日期和时间,如发票日期,生日,交货时间,或任何其他此类信息.如果你有这样的需要,可以极大地从动态的jQu ...

  3. 移动端lCalendar纯原生js日期时间选择器

    网上找过很多的移动端基于zepto或jquery的日期选择器,在实际产品中也用过一两种,觉得都不太尽如人意,后来果断选择了H5自己的日期input表单,觉得还可以,至少不用引用第三方插件了,性能也不错 ...

  4. 插件介绍 :cropper是一款使用简单且功能强大的图片剪裁jQuery插件。

    简要教程 cropper是一款使用简单且功能强大的图片剪裁jQuery插件.该图片剪裁插件支持图片放大缩小,支持鼠标滚轮操作,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用. c ...

  5. Android日期时间选择器实现以及自定义大小

    本文主要讲两个内容:1.如何将DatePicker和TimePicker放在一个dialog里面:2.改变他们的宽度: 问题1:其实现思路就是自定义一个Dialog,然后往里面同时放入DatePick ...

  6. 功能强大的文件上传插件带上传进度-WebUploader

    WebUploader是由Baidu WebFE(FEX)团队开发的一个以HTML5/FLASH构建的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用老 ...

  7. Bootstrap-datepicker日期时间选择器的简单使用

    日期时间选择器 目前,bootstrap有两种日历.datepicker和datetimepicker,后者是前者的拓展. Bootstrap日期和时间组件: 使用示例: 从左到右依次是十年视图.年视 ...

  8. 解决elementui日期时间选择器提交时与后台date类型不匹配问题

    问题描述: 在前端使用elementui的日期时间选择器后,在通过axios进行提交的时候,前端控制台出现了400(数据类型不匹配的错误)的错误. <el-form-item label=&qu ...

  9. Android中实现日期时间选择器(DatePicker和TimePicker)

    利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器. Dialog的Content布局文件(date_time_dialog.x ...

随机推荐

  1. 示例 - C#脚本代码采集搜狐NBA球员, 球队和比赛实况

    最近 @甜瓜 (QQ:1069629945) 开发了一套NBA数据采集脚本, 我觉得很赞. 经他允许发布出来和大家分享一些经验: 球员球队: http://data.sports.sohu.com/n ...

  2. EMC、Pure和NetApp推新品,NAS闪存场景在哪里

    Hardy 架构师技术联盟 All Flash/SSD存储的趋势势不可挡,未来在NAS服务上也是如此,眼下已经有非常多家初创厂商支持全SSD的NAS存储服务,包含EMC Isilion也推出了全闪存节 ...

  3. jquery -- body div 和 body>div 的区别

    body  div表示body下的所有div标签都应用样式,不管是body的儿子还是孙子或更孙子 body >div表示只有body的儿子div才应用样式,孙子以后都不应用

  4. 【BZOJ】1620: [Usaco2008 Nov]Time Management 时间管理(贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1620 一开始想不通啊.. 其实很简单... 每个时间都有个完成时间,那么我们就从最大的 完成时间的开 ...

  5. hdu 1253:胜利大逃亡(基础广搜BFS)

    胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  6. 通过代码注册COM、DLL组件

    注册代码如下:  C++ Code  1234567891011121314151617181920212223242526272829303132333435363738   // //====== ...

  7. 'not all arguments converted during string formatting'错误告警信息解决办法

    问题描述:

  8. Android无线测试之—UiAutomator UiScrollable API介绍五

    滑动区域校准常量设置与获取 一.校准概念 校准常量指的是:滑动操作坐标时的偏移量,用来取偏移比例 二.相关API 返回值 API 描述 double getSwipeDeadZonePercentag ...

  9. Jenkins publish over ssh 上传 文件夹 配置方式

    需要把编译后 目录下的 lib文件夹下的jar包都上传到服务器上 1.配置 2.完成截图 3.服务器截图 注意:  真实脚本 建议写 全路径 注意:多条命令时  添加 英文分号

  10. HDU1536 S-Nim

    S-Nim Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...