layDate 日期与时间组件

layDate 是 layui 独立维护的三大组件之一,我们在 5.0 的版本对其进行了一次全面的重写

下载 layDate-v5.0.9 下载量:189508
获得 layDate 文件包后,解压并将 laydate 整个文件夹(不要拆分结构) 存放到你项目的任意目录,使用时,只需引入 laydate.js 即可。 下面是一个入门示例:

codelayui.code

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>使用 layDate 独立版</title>
  6. </head>
  7. <body>
  8. <input type="text" id="test1">
  9. <script src="/laydate/laydate.js"></script> <!-- 改成你的路径 -->
  10. <script>
  11. //执行一个laydate实例
  12. laydate.render({
  13. elem: '#test1' //指定元素
  14. });
  15. </script>
  16. </body>
  17. </html>
示例

codelayui.code

  1. //常规用法
  2. laydate.render({
  3. elem: '#test1'
  4. });
  5. //国际版
  6. laydate.render({
  7. elem: '#test1-1'
  8. ,lang: 'en'
  9. });

codelayui.code

  1. //年选择器
  2. laydate.render({
  3. elem: '#test2'
  4. ,type: 'year'
  5. });
  6. //年月选择器
  7. laydate.render({
  8. elem: '#test3'
  9. ,type: 'month'
  10. });
  11. //时间选择器
  12. laydate.render({
  13. elem: '#test4'
  14. ,type: 'time'
  15. });
  16. //时间选择器
  17. laydate.render({
  18. elem: '#test5'
  19. ,type: 'datetime'
  20. });

codelayui.code

  1. //日期范围
  2. laydate.render({
  3. elem: '#test6'
  4. ,range: true
  5. });
  6. //年范围
  7. laydate.render({
  8. elem: '#test7'
  9. ,type: 'year'
  10. ,range: true
  11. });
  12. //年月范围
  13. laydate.render({
  14. elem: '#test8'
  15. ,type: 'month'
  16. ,range: true
  17. });
  18. //时间范围
  19. laydate.render({
  20. elem: '#test9'
  21. ,type: 'time'
  22. ,range: true
  23. });
  24. //日期时间范围
  25. laydate.render({
  26. elem: '#test10'
  27. ,type: 'datetime'
  28. ,range: true
  29. });

codelayui.code

  1. //自定义格式
  2. laydate.render({
  3. elem: '#test11'
  4. ,format: 'yyyy年MM月dd日'
  5. });
  6. laydate.render({
  7. elem: '#test12'
  8. ,format: 'dd/MM/yyyy'
  9. });
  10. laydate.render({
  11. elem: '#test13'
  12. ,format: 'yyyyMM'
  13. });
  14. laydate.render({
  15. elem: '#test14'
  16. ,type: 'time'
  17. ,format: 'H点M分'
  18. });
  19. laydate.render({
  20. elem: '#test15'
  21. ,type: 'month'
  22. ,range: '→'
  23. ,format: 'yyyy-MM'
  24. });
  25. laydate.render({
  26. elem: '#test16'
  27. ,type: 'datetime'
  28. ,range: '到'
  29. ,format: 'yyyy年M月d日H时m分s秒'
  30. });

codelayui.code

  1. //开启公历节日
  2. laydate.render({
  3. elem: '#test17'
  4. ,calendar: true
  5. });
  6. //自定义重要日
  7. laydate.render({
  8. elem: '#test18'
  9. ,mark: {
  10. '0-10-14': '生日'
  11. ,'0-12-31': '跨年' //每年的日期
  12. ,'0-0-10': '工资' //每月某天
  13. ,'0-0-15': '月中'
  14. ,'2017-8-15': '' //如果为空字符,则默认显示数字+徽章
  15. ,'2099-10-14': '呵呵'
  16. }
  17. ,done: function(value, date){
  18. if(date.year === 2017 && date.month === 8 && date.date === 15){ //点击2017年8月15日,弹出提示语
  19. alert('这一天是:中国人民抗日战争胜利72周年');
  20. }
  21. }
  22. });
以9:30-17:30为例

codelayui.code

  1. //限定可选日期
  2. var ins22 = laydate.render({
  3. elem: '#test-limit1'
  4. ,min: '2016-10-14'
  5. ,max: '2080-10-14'
  6. ,ready: function(){
  7. ins22.hint('日期可选值设定在 <br> 2016-10-14 到 2080-10-14');
  8. }
  9. });
  10. //前后若干天可选,这里以7天为例
  11. laydate.render({
  12. elem: '#test-limit2'
  13. ,min: -7
  14. ,max: 7
  15. });
  16. //限定可选时间
  17. laydate.render({
  18. elem: '#test-limit3'
  19. ,type: 'time'
  20. ,min: '09:30:00'
  21. ,max: '17:30:00'
  22. ,btns: ['clear', 'confirm']
  23. });

codelayui.code

  1. //同时绑定多个
  2. lay('.test-item').each(function(){
  3. laydate.render({
  4. elem: this
  5. ,trigger: 'click'
  6. });
  7. });

codelayui.code

  1. //初始赋值
  2. laydate.render({
  3. elem: '#test19'
  4. ,value: '1989-10-14'
  5. });
  6. //选中后的回调
  7. laydate.render({
  8. elem: '#test20'
  9. ,done: function(value, date){
  10. alert('你选择的日期是:' + value + '\n获得的对象是' + JSON.stringify(date));
  11. }
  12. });
  13. //日期切换的回调
  14. laydate.render({
  15. elem: '#test21'
  16. ,change: function(value, date){
  17. alert('你选择的日期是:' + value + '\n\n获得的对象是' + JSON.stringify(date));
  18. }
  19. });
  20. //不出现底部栏
  21. laydate.render({
  22. elem: '#test22'
  23. ,showBottom: false
  24. });
  25. //只出现确定按钮
  26. laydate.render({
  27. elem: '#test23'
  28. ,btns: ['confirm']
  29. });
  30. //自定义事件
  31. laydate.render({
  32. elem: '#test24'
  33. ,trigger: 'mousedown'
  34. });
  35. //点我触发
  36. laydate.render({
  37. elem: '#test25'
  38. ,eventElem: '#test25-1'
  39. ,trigger: 'click'
  40. });
  41. //双击我触发
  42. lay('#test26-1').on('dblclick', function(){
  43. laydate.render({
  44. elem: '#test26'
  45. ,show: true
  46. ,closeStop: '#test26-1'
  47. });
  48. });
  49. //日期只读
  50. laydate.render({
  51. elem: '#test27'
  52. ,trigger: 'click'
  53. });
  54. //非input元素
  55. laydate.render({
  56. elem: '#test28'
  57. });

codelayui.code

  1. //墨绿主题
  2. laydate.render({
  3. elem: '#test29'
  4. ,theme: 'molv'
  5. });
  6. //自定义颜色
  7. laydate.render({
  8. elem: '#test30'
  9. ,theme: '#393D49'
  10. });
  11. //格子主题
  12. laydate.render({
  13. elem: '#test31'
  14. ,theme: 'grid'
  15. });
2020年7月
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
Jul2020
SuMoTuWeThFrSa
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
2020年7月
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
  • 一月
  • 二月
  • 三月
  • 四月
  • 五月
  • 六月
  • 七月
  • 八月
  • 九月
  • 十月
  • 十一月
  • 十二月
2020年7月选择时间
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
    1. 00
    2. 01
    3. 02
    4. 03
    5. 04
    6. 05
    7. 06
    8. 07
    9. 08
    10. 09
    11. 10
    12. 11
    13. 12
    14. 13
    15. 14
    16. 15
    17. 16
    18. 17
    19. 18
    20. 19
    21. 20
    22. 21
    23. 22
    24. 23
    1. 00
    2. 01
    3. 02
    4. 03
    5. 04
    6. 05
    7. 06
    8. 07
    9. 08
    10. 09
    11. 10
    12. 11
    13. 12
    14. 13
    15. 14
    16. 15
    17. 16
    18. 17
    19. 18
    20. 19
    21. 20
    22. 21
    23. 22
    24. 23
    25. 24
    26. 25
    27. 26
    28. 27
    29. 28
    30. 29
    31. 30
    32. 31
    33. 32
    34. 33
    35. 34
    36. 35
    37. 36
    38. 37
    39. 38
    40. 39
    41. 40
    42. 41
    43. 42
    44. 43
    45. 44
    46. 45
    47. 46
    48. 47
    49. 48
    50. 49
    51. 50
    52. 51
    53. 52
    54. 53
    55. 54
    56. 55
    57. 56
    58. 57
    59. 58
    60. 59
    1. 00
    2. 01
    3. 02
    4. 03
    5. 04
    6. 05
    7. 06
    8. 07
    9. 08
    10. 09
    11. 10
    12. 11
    13. 12
    14. 13
    15. 14
    16. 15
    17. 16
    18. 17
    19. 18
    20. 19
    21. 20
    22. 21
    23. 22
    24. 23
    25. 24
    26. 25
    27. 26
    28. 27
    29. 28
    30. 29
    31. 30
    32. 31
    33. 32
    34. 33
    35. 34
    36. 35
    37. 36
    38. 37
    39. 38
    40. 39
    41. 40
    42. 41
    43. 42
    44. 43
    45. 44
    46. 45
    47. 46
    48. 47
    49. 48
    50. 49
    51. 50
    52. 51
    53. 52
    54. 53
    55. 54
    56. 55
    57. 56
    58. 57
    59. 58
    60. 59

codelayui.code

  1. //直接嵌套显示
  2. laydate.render({
  3. elem: '#test-n1'
  4. ,position: 'static'
  5. });
  6. laydate.render({
  7. elem: '#test-n2'
  8. ,position: 'static'
  9. ,lang: 'en'
  10. });
  11. laydate.render({
  12. elem: '#test-n3'
  13. ,type: 'month'
  14. ,position: 'static'
  15. });
  16. laydate.render({
  17. elem: '#test-n4'
  18. ,type: 'time'
  19. ,position: 'static'
  20. });