bootstrap-datetimepicker 项目

news/2024/11/15 11:30:40/文章来源:https://www.cnblogs.com/joe-tang/p/7145032.html

项目 Build Status

此项目是bootstrap-datetimepicker 项目 的一个分支,原项目不支持 Time 选择。
其它部分也进行了改进、增强,例如load 过程增加了对 ISO-8601 日期格式的支持。
文档是拷贝/粘贴字原项目的文档,并且加入了更多细节说明。
 
别犹豫了,下载下来试试吧 !
下载 ZIP 包
此地址可以克隆或fork本项目
  1. git clone git://github.com/smalot/bootstrap-datetimepicker.git

希望这个小小的项目能帮到你 !


Tags: twitter-bootstrapdatetimepickercomponentjavascriptwidget

十年视图

Decade view

年视图

Year view

月视图

Month view

日视图*

Day view

小时视图 *

Hour view

Day view w/ meridian *

Day view - meridian

Hour view w/ meridian *

Hour view - meridian
(*) Added views to select the time part.

需要bootstrap的下拉菜单组件 (dropdowns.less) 的某些样式,还有bootstrap的sprites (sprites.less and associated images) 中的箭头图标。

A standalone .css file (including necessary dropdown styles and alternative, text-based arrows) can be generated by running build/build_standalone.less through the lessc compiler:

  1. $ lessc build/build_standalone.less datetimepicker.css

所有需要"Date" 的选项都可以处理Date 对象; a String formatted according to the given format; or a timedelta relative to today, eg '-1d', '+6m +1y', etc, where valid units are 'd' (day), 'w' (week), 'm' (month), and 'y' (year).

你也可以指定一个符合 ISO-8601 格式的日期时间,就可以忽略下面的格式:

  • yyyy-mm-dd
  • yyyy-mm-dd hh:ii
  • yyyy-mm-ddThh:ii
  • yyyy-mm-dd hh:ii:ss
  • yyyy-mm-ddThh:ii:ssZ

 

format

String. 默认值: 'mm/dd/yyyy'

日期格式, p, P, h, hh, i, ii, s, ss, d, dd, m, mm, M, MM, yy, yyyy 的任意组合。

  • p : meridian in lower case ('am' or 'pm') - according to locale file
  • P : meridian in upper case ('AM' or 'PM') - according to locale file
  • s : seconds without leading zeros
  • ss : seconds, 2 digits with leading zeros
  • i : minutes without leading zeros
  • ii : minutes, 2 digits with leading zeros
  • h : hour without leading zeros - 24-hour format
  • hh : hour, 2 digits with leading zeros - 24-hour format
  • H : hour without leading zeros - 12-hour format
  • HH : hour, 2 digits with leading zeros - 12-hour format
  • d : day of the month without leading zeros
  • dd : day of the month, 2 digits with leading zeros
  • m : numeric representation of month without leading zeros
  • mm : numeric representation of the month, 2 digits with leading zeros
  • M : short textual representation of a month, three letters
  • MM : full textual representation of a month, such as January or March
  • yy : two digit representation of a year
  • yyyy : full numeric representation of a year, 4 digits

 

weekStart

Integer. 默认值:0

一周从哪一天开始。0(星期日)到6(星期六)

startDate

Date. 默认值:开始时间

The earliest date that may be selected; all earlier dates will be disabled.

endDate

Date. 默认值:结束时间

The latest date that may be selected; all later dates will be disabled.

daysOfWeekDisabled

String, Array. 默认值: '', []

Days of the week that should be disabled. Values are 0 (Sunday) to 6 (Saturday). Multiple values should be comma-separated. Example: disable weekends: '0,6' or [0,6].

autoclose

Boolean. 默认值:false

当选择一个日期之后是否立即关闭此日期时间选择器。

startView

Number, String. 默认值:2, 'month'

日期时间选择器打开之后首先显示的视图。 可接受的值:

  • 0 or 'hour' for the hour view
  • 1 or 'day' for the day view
  • 2 or 'month' for month view (the default)
  • 3 or 'year' for the 12-month overview
  • 4 or 'decade' for the 10-year overview. Useful for date-of-birth datetimepickers.

minView

Number, String. 默认值:0, 'hour'

日期时间选择器所能够提供的最精确的时间选择视图。

maxView

Number, String. 默认值:4, 'decade'

日期时间选择器最高能展示的选择范围视图。

todayBtn

Boolean, "linked". 默认值: false

如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。

todayHighlight

Boolean. 默认值: false

如果为true, 高亮当前日期。

keyboardNavigation

Boolean. 默认值: true

是否允许通过方向键改变日期。

language

String. 默认值: 'en'

The two-letter code of the language to use for month and day names. These will also be used as the input's value (and subsequently sent to the server in the case of form submissions). Currently ships with English ('en'), German ('de'), Brazilian ('br'), and Spanish ('es') translations, but others can be added (see I18N below). If an unknown language code is given, English will be used.

forceParse

Boolean. 默认值: true

当选择器关闭的时候,是否强制解析输入框中的值。也就是说,当用户在输入框中输入了不正确的日期,选择器将会尽量解析输入的值,并将解析后的正确值按照给定的格式format设置到输入框中。

minuteStep

Number. 默认值: 5

此数值被当做步进值用于构建小时视图。对于每个 minuteStep 都会生成一组预设时间(分钟)用于选择。

pickerReferer : 不建议使用

String. 默认值: 'default' (other value available : 'input')

The referer element to place the picker for the component implementation. If you want to place the picker just under the input field, just specify input.

pickerPosition

String. 默认值: 'bottom-right' (还支持 : 'bottom-left')

此选项当前只在组件实现中提供支持。通过设置选项可以讲选择器放倒输入框下方。

viewSelect

Number or String. 默认值: same as minView (supported values are: 'decade', 'year', 'month', 'day', 'hour')

With this option you can select the view from which the date will be selected. By default it's the last one, however you can choose the first one, so at each click the date will be updated.

showMeridian

Boolean. 默认值: false

This option will enable meridian views for day and hour views.

initialDate

Date or String. 默认值: new Date()

You can initialize the viewer with a date. By default it's now, so you can specify yesterday or today at midnight ...

组件模版。

  1. <div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
  2. <input class="span2" size="16" type="text" value="12-02-2012">
  3. <span class="add-on"><i class="icon-th"></i></span>
  4. </div>

带有重置按钮(用于清空输入框)的组件模版。

  1. <div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
  2. <input class="span2" size="16" type="text" value="12-02-2012">
  3. <span class="add-on"><i class="icon-remove"></i></span>
  4. <span class="add-on"><i class="icon-th"></i></span>
  5. </div>

.datetimepicker(options)

初始化日期时间选择器。

remove

参数: None

移除日期时间选择器。同时移除已经绑定的event、内部绑定的对象和HTML元素。

  1. $('#datetimepicker').datetimepicker('remove');

show

参数: None

显示日期时间选择器。

  1. $('#datetimepicker').datetimepicker('show');

hide

参数: None

隐藏日期时间选择器。

  1. $('#datetimepicker').datetimepicker('hide');

update

参数: None

使用当前输入框中的值更新日期时间选择器。

  1. $('#datetimepicker').datetimepicker('update');

setStartDate

参数:

  • startDate (String)

给日期时间选择器设置一个新的起始日期。

  1. $('#datetimepicker').datetimepicker('setStartDate', '2012-01-01');

Omit startDate (or provide an otherwise falsey value) to unset the limit.

  1. $('#datetimepicker').datetimepicker('setStartDate');
  2. $('#datetimepicker').datetimepicker('setStartDate', null);

setEndDate

参数:

  • endDate (String)

给日期时间选择器设置结束日期。

  1. $('#datetimepicker').datetimepicker('setEndDate', '2012-01-01');

Omit endDate (or provide an otherwise falsey value) to unset the limit.

  1. $('#datetimepicker').datetimepicker('setEndDate');
  2. $('#datetimepicker').datetimepicker('setEndDate', null);

setDaysOfWeekDisabled

参数:

  • daysOfWeekDisabled (String|Array)

Sets the days of week that should be disabled.

  1. $('#datetimepicker').datetimepicker('setDaysOfWeekDisabled', [0,6]);

Omit daysOfWeekDisabled (or provide an otherwise falsey value) to unset the disabled days.

  1. $('#datetimepicker').datetimepicker('setDaysOfWeekDisabled');
  2. $('#datetimepicker').datetimepicker('setDaysOfWeekDisabled', null);

Datetimepicker 类暴露了一组event用以对日期进行操作。

show

当选择器显示时被触发。

hide

当选择器隐藏时被触发。

changeDate

当日期被改变时被触发。

  1. $('#date-end')
  2. .datetimepicker()
  3. .on('changeDate', function(ev){
  4. if (ev.date.valueOf() < date-start-display.valueOf()){
  5. ....
  6. }
  7. });

changeYear

当十年视图上的年视图view被改变时触发。

changeMonth

当年视图上的月视图view被改变时触发。

outOfRange

当用户选择的日期超出startDate 或endDate 时,或者通过setDate 或 setUTCDate方法设置日期超出范围时被触发。

日期时间选择器提供了键盘导航:

up, down, left, right 方向键

这些方向键中,left/right 向后/向前 一天,up/down 向后/向前 一周。

配合shift键,up/left 向后退一个月,down/right 向前进一个月。

配置ctrl键,up/left 向后退一年,down/right 向前进一年。

Shift+ctrl 和 ctrl 同等效果 - 也就是说,他们不能同时改变月和年,只能单独改变年。

escape

escape 键可以用来隐藏、重新显示日期时间选择器;当用户希望手工编辑输入框中的值是会很有用。

enter

当选择器处于显示状态时,enter键只是将其隐藏。当选择器处于隐藏状态时,enter键发挥通常的功能 - 提交当前表单,或者其他。

本插件支持月、每周中天的名称、weekStart选项的国际化。默认是语言是English ('en');其它可以使用的翻译文件在js/locales/ 目录中,只需在本插件之后引入需要的语言文件即可。需要增加额外语言支持的话,只需向 $.fn.datetimepicker.dates中增加一个key即可,一定要放在调用 .datetimepicker()之前。如下案例:

  1. $.fn.datetimepicker.dates['en'] = {
  2. days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
  3. daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
  4. daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
  5. months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
  6. monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
  7. today: "Today"
  8. };

Right-to-left languages may also include rtl: true to make the calendar display appropriately.

If your browser (or those of your users) is displaying characters wrong, chances are the browser is loading the javascript file with a non-unicode encoding. Simply add charset="UTF-8" to your script tag:

  1. <script type="text/javascript" src="bootstrap-datetimepicker.de.js" charset="UTF-8"></script>

绑定输入框,并设置format选项:

  1. <input type="text" value="2012-05-15 21:05" id="datetimepicker">
  1. $('#datetimepicker').datetimepicker({
  2. format: 'yyyy-mm-dd hh:ii'
  3. });

绑定输入框,并设置format标记:

  1. <input type="text" value="2012-05-15 21:05" id="datetimepicker" data-date-format="yyyy-mm-dd hh:ii">
  1. $('#datetimepicker').datetimepicker();

作为组件使用:

  1. <div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
  2. <input size="16" type="text" value="12-02-2012" readonly>
  3. <span class="add-on"><i class="icon-th"></i></span>
  4. </div>
  1. $('#datetimepicker').datetimepicker();

作为内联日期时间选择器:

  1. <div id="datetimepicker"></div>
  1. $('#datetimepicker').datetimepicker();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/742635.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TLScanary:Pwn中的利器

TLScanary:Pwn中的利器 引言:什么是TLScanary?在二进制漏洞利用(Pwn)领域,攻击者面临着层层防护措施的挑战。在安全竞赛(如CTF)和实际漏洞利用中,TLS(线程本地存储)和堆栈保护(stack canary)是常见的防护技术。TLScanary应运而生,它结合了TLS协议与堆栈保护技术,…

JS组件系列——BootstrapTable 行内编辑解决方案:x-editable

转载:http://www.cnblogs.com/landeanfen/p/5821192.html#_label2阅读目录一、x-editable组件介绍 二、bootstrapTable行内编辑初始方案 三、bootstrapTable行内编辑最终方案1、文本框 2、时间选择框 3、下拉框 4、复选框 5、“阴魂不散”的select2四、总结 正文 前言:之前介…

Iceberg metrics导致的问题

一、问题描述 在iceberg rewrite时报错:org.apache.iceberg.exceptions.ValidationException: Cannot commit, found new delete for replaced data file 看信息像是对于要删除的DataFile,有新的DeleteFile作用于它,不应该直接删除DataFile。但是我们很明确并没有DeleteFile…

6. DRF 版本

目录Django DRF 版本1. 使用1.1 URL 传递version参数 Django DRF 版本 1. 使用 rest_framework 的 versioning.py中定义了多种方法,支持不同方式携带version信息, 比如支持url/hostname/namespace中携带并传递version信息1.1 URL 传递version参数 https://127.0.0.1:8000/use…

spark-submit提交任务时执行流程(简单版)

yarn cluster模式提交spark任务 (1)执行脚本提交任务,实际是启动一个SparkSubmit的JVM进程。 (2)SparkSubmit类中的main方法反射调用YarnClusterApplication的main方法。 (3)YarnClusterApplication创建Yarn客户端,然后向yarn服务器发送执行指令:bin/java Application…

回溯-子集型

参考:回溯算法套路①子集型回溯【基础算法精讲 14】 ps:0-1背包也是一种子集型回溯 注意:递归参数中的 i 不是第 i 个, 而是下标大于等于 i 的这部分例题: class Solution: def f1(self, nums):n = len(nums)if n==0:return []ans = []path = []def dfs(i):if i == n…

Springboot按天生成日志文件

原文链接:https://blog.csdn.net/weixin_47798667/article/details/1318469421:首先再yml文件上加上配置 logging: config: classpath:logback-spring.xml2:新建一个logback-spring.xml文件文件内容是如下 <?xml version="1.0" encoding="UTF-8"?&g…

AIGC来了,你的版权还安全吗?

人工智能生成内容(AIGC)是热度居高不下,据Gartner预计,到2025年,AIGC将占全球所有生成数据的10%,以ChatGPT、Stable Diffusion为代表的现象级应用受到强势追捧,AIGC毫无疑问是强有力的生产工具,那如果人类作为创作者被工具抄袭时能够有效反击吗?无法确权和版权争议将是…

音乐相关api

网易云飙升榜 {"sourceUrl": "https://api.vvhan.com/api/wyMusic/飙升榜?type=json","command": "网易云飙升榜","dataType": "json","sendType": "audio","jsonKey": "inf…

显卡欺骗器、锁屏宝的代替品,ToDesk虚拟屏功能完美解决

主机没有显示器?远控电脑需要保持屏幕的高分辨率,但过高容易黑屏? 遇到以上情况,人们常常会使用显卡欺骗器或者锁屏宝来解决,就是让显卡认为连接了一个显示器,方便正常使用电脑。 但是这往往需要额外给电脑上插入设备,如果是突然急用就很难实现了,有没有人帮忙装显卡欺…

ToDesk云电脑进军游戏市场,真显卡高性能,新版本可暂停使用时长!

ToDesk远程控制软件在装机量突破1.5亿后,再度迎来里程碑式的发展。今年,该公司创新推出了云电脑产品,正式涉足云计算领域。这款前沿产品一经发布,便凭借其卓越的性能和使用体验赢得了广大用户的赞誉。近期,ToDesk云电脑更是迎来了重大版本更新,进一步巩固了其在云计算行业…