js非常强大的日历控件fullcalendar.js, 日期时间库: moment.js
日历控件:
https://fullcalendar.io/docs/
https://fullcalendar.io/docs/event_data/events_function/
https://fullcalendar.io/docs/event_data/Event_Object/
https://fullcalendar.io/docs/mouse/eventClick/
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset='utf-8' />
- <link href='../fullcalendar.css' rel='stylesheet' />
- <link href='../fullcalendar.print.css' rel='stylesheet' media='print' />
- <script src='../lib/moment.min.js'></script>
- <script src='../lib/jquery.min.js'></script>
- <script src='../fullcalendar.min.js'></script>
- <style>
- .event-class{
- display:inline-block;
- color: yellow;
- width:100px;
- height:100px;
- }
- </style>
- <script>
- $(document).ready(function() {
- $('#calendar').fullCalendar({
- header: {
- left: 'prev,next today',
- center: 'title',
- right: 'month,agendaWeek,agendaDay'
- },
- defaultDate: '2015-02-12',
- businessHours: true, // display business hours
- editable: true,
- events: function( start, end, timezone, callback ) {
- console.log('start:'+start+',end:'+end)
- console.log('start:'+start.unix()+',end:'+end.unix())
- var evts = [
- {
- title: '事件Business Lunch', // Required
- start: '2015-02-03T13:00:00', // Required
- className: 'event-class',
- constraint: 'businessHours'
- },
- {
- title: 'Meeting', // Required
- start: '2015-02-13T11:00:00', // Required
- constraint: 'availableForMeeting', // defined below
- color: 'red'
- }];
- callback(evts);
- },
- eventClick: function(calEvent, jsEvent, view) {
- alert('Event: ' + calEvent.title);
- alert('Coordinates: ' + jsEvent.pageX + ',' + jsEvent.pageY);
- alert('View: ' + view.name);
- // change the border color just for fun
- $(this).css('border-color', 'red');
- }
- /*
- events: [
- {
- title: '事件Business Lunch',
- start: '2015-02-03T13:00:00',
- constraint: 'businessHours'
- },
- {
- title: 'Meeting',
- start: '2015-02-13T11:00:00',
- constraint: 'availableForMeeting', // defined below
- color: '#257e4a'
- },
- {
- title: 'Conference',
- start: '2015-02-18',
- end: '2015-02-20'
- },
- {
- title: 'Party',
- start: '2015-02-29T20:00:00'
- },
- // areas where "Meeting" must be dropped
- {
- id: 'availableForMeeting',
- start: '2015-02-11T10:00:00',
- end: '2015-02-11T16:00:00',
- rendering: 'background'
- },
- {
- id: 'availableForMeeting',
- start: '2015-02-13T10:00:00',
- end: '2015-02-13T16:00:00',
- rendering: 'background'
- },
- // red areas where no events can be dropped
- {
- start: '2015-02-24',
- end: '2015-02-28',
- overlap: false,
- rendering: 'background',
- color: '#ff9f89'
- },
- {
- start: '2015-02-06',
- end: '2015-02-08',
- overlap: false,
- rendering: 'background',
- color: '#ff9f89'
- }
- ]
- */
- });
- });
- </script>
- <style>
- body {
- margin: 40px 10px;
- padding: 0;
- font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
- font-size: 14px;
- }
- #calendar {
- max-width: 900px;
- margin: 0 auto;
- }
- </style>
- </head>
- <body>
- <div id='calendar'></div>
- </body>
- </html>
日期时间库:
http://momentjs.com/
Parse, validate, manipulate, and display dates and times in JavaScript.
- //Format Dates
- moment().format('MMMM Do YYYY, h:mm:ss a');
- moment().format('dddd');
- moment().format("MMM Do YY");
- moment().format('YYYY [escaped] YYYY');
- moment().format();
- //Relative Time
- moment("20111031", "YYYYMMDD").fromNow();
- moment("20120620", "YYYYMMDD").fromNow();
- moment().startOf('day').fromNow();
- moment().endOf('day').fromNow();
- moment().startOf('hour').fromNow();
- //Calendar Time
- moment().subtract(10, 'days').calendar();
- moment().subtract(6, 'days').calendar();
- moment().subtract(3, 'days').calendar();
- moment().subtract(1, 'days').calendar();
- moment().calendar();
- moment().add(1, 'days').calendar();
- moment().add(3, 'days').calendar();
- moment().add(10, 'days').calendar();
- //Multiple Locale Support
- moment.locale();
- moment().format('LT');
- moment().format('LTS');
- moment().format('L');
- moment().format('l');
- moment().format('LL');
- moment().format('ll');
- moment().format('LLL');
- moment().format('lll');
- moment().format('LLLL');
- moment().format('llll');
PS:
当前日期时间格式化:
moment().format('YYYY-MM-DD HH:mm:ss.SSS')
ref: http://momentjs.com/docs/#/displaying/
js非常强大的日历控件fullcalendar.js, 日期时间库: moment.js的更多相关文章
- jQuery 日历控件 FullCalendar 初识
最近有个日程管理的需求,就学习了一下 FullCalendar 控件的一些基本知识,本文不是详细介绍该控件的 API 的文档,而是记录本人使用过程中的一些学习情况. 先看一下效果图 月/周/日视图 ...
- 纯js开发防win7日历控件
不久前项目开发中遇到需要用js实现选择日期的需求,百度了下,确实一大把一大把的,但多少还是有些不符合当前需求,遂down了一份最接近的,然后修修改改,基本符合了... 先上几张效果图~~~ 需要输入时 ...
- Jquery UI的日历控件datepicker限制日期(转)
网上找到这篇文章:http://www.jssay.com/blog/index.php/2010/04/27/%E5%A6%82%E4%BD%95%E7%A6%81%E7%94%A8datepick ...
- layui日历控件设置选择日期不能超过当前日期
layui.use('laydate', function() { var laydate = layui.laydate; laydate.render({ elem : '#begin', max ...
- C#中使用DateTimePicker控件显示修改日期时间
1.只显示日期 默认就是 2.只显示时间 修改属性 Format 设为Time ShowUpDown设为true 3.同时显示日期时间 Format设为Custom CustomF ...
- [Xcode 实际操作]四、常用控件-(11)UIDatePicker日期时间选择器
目录:[Swift]Xcode实际操作 本文将演示日期拾取器的使用. 使用日期拾取器,可以快速设置和选择日期与时间. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] ...
- JS实现日历控件选择后自动填充
最近在做人事档案的项目,在做项目的初期对B/S这块不是很熟悉,感觉信心不是很强,随着和师哥同组人员的交流后发现,调试程序越来越好了,现在信心是倍增,只要自己自己踏实的去研究.理解代码慢慢的效果就出来了 ...
- 2.23 js处理日历控件(修改readonly属性)
2.23 js处理日历控件(修改readonly属性) 前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如 ...
- selenium+Python(Js处理日历控件)
日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉 ...
随机推荐
- 8、redis之事务1-redis命令
一.概述: 和众多其它数据库一样,Redis作为NoSQL数据库也同样提供了事务机制.在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基石.相信对有 ...
- 12、java5锁java.util.concurrent.locks.Lock之ReentrantLock
JDK文档描述: public interface LockLock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作.此实现允许更灵活的结构,可以具有差别很大的属性,可 ...
- js中setTimeout、setInterval、 clearInterval方法简介
setTimeout setTimeout(code, millisec) 用于在指定的毫秒数后调用函数或计算表达式. 说明: setTimeout()只执行一次code.如果要多次调用,要使用set ...
- android软键盘弹出引起的各种不适终极解决方案
android软键盘弹出引起的各种不适终极解决方案 以下描述如何解决ListView高度小于0时出现的UI问题. 创建RelativeLayout的子类TxrjRelativeLayout publi ...
- 在子线程中发送短信,静态注册SentMsgReceiver。
1. 应该在子线程中执行发送短信的操作. 如果没有在子线程中发送短信会出现错误:点击发送短信之后,立即跳转到其他界面,那么这次发送短信可能就会失败! 请注意往子线程方法中传入外部的实参必须由final ...
- ios中一级导航
效果图 第一步先下载文件 http://pan.baidu.com/share/link?shareid=2148445651&uk=9237761877 将目录引入到xcode中 在xcod ...
- 使用Thrift让Python为Java提供服务
Thrift是基于TCP的,谷歌的GRPC是基于HTTP的.Thrift和GRPC都是比直接写个web接口进行调用更完美的方式,最明显的一点就是:我们可以定义结构体,避免了手动解析的过程. 但是,在将 ...
- java 结束程序进程 代码
结束firefox的进程,一句代码就够了,如下: Runtime.getRuntime().exec("taskkill /F /IM firefox.exe"); 结束qq: R ...
- 树莓派进阶之路 (005) - 树莓派Zsh安装脚本(原创)
zsh.sh #!/bin/bash cd #安装zsh sudo apt-get install zsh #查看zsh cat /etc/shells #更改zsh chsh -s /bin/zsh ...
- HDU 1850 Being a Good Boy in Spring Festival (Nim博弈)
Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32 ...