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/

时间: 2024-10-10 04:46:16

js非常强大的日历控件fullcalendar.js, 日期时间库: moment.js的相关文章

利用JS实现Web日历控件(包括日期和时间)

1.由于项目需要,需要一个精确到分钟的日历控件,具体如下图所示. 2.具体包括WebCalendar.js和一个schedule.jsp两个文件,源码如下. (1)WebCalendar.js var cal; var isFocus=false; //是否为焦点 var pickMode ={ "second":1, "minute":2, "hour":3, "day":4, "month":5, &q

Jquery UI的日历控件datepicker限制日期(转)

网上找到这篇文章:http://www.jssay.com/blog/index.php/2010/04/27/%E5%A6%82%E4%BD%95%E7%A6%81%E7%94%A8datepicker%E7%9A%84%E6%97%A5%E6%9C%9F/ 1 现在jquery用的很广泛,一方面是其强大的库,另一方面是它的插件很丰富.最近用了jquery的datepicker插件,感觉很棒,界面很漂亮,功能齐全,且扩展性很好.强烈推荐使用. 2 3 项目中有一个需求,要禁用某些日期,比如周末

Selenium2+python自动化25-js处理日历控件(修改readonly属性)【转载】

前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉readonly属性,然后直接输入日期文本内容 一.日历控件 1.打开12306的车票查询界面,在出发日期输入框无法直接输入时间 2.常规思路是点开日历控件弹出框,从日历控件上点日期,这样操作比较烦躁,并且我们测试的重点不在日历控件上,只是想输入个时间,做下一步的操作 3.用firebug查看

Selenium2+python自动化25-js处理日历控件(修改readonly属性)

本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/js/ 前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉readonly属性,然后直接输入日期文本内容 一.日历控件 1.打开12306的车票查询界面,在出发日期输入框无法直接输入时间 2.常规思路是点开日历控件弹出框,从日历控件

实现自定义的日历控件

项目中以后会用到日历控件,自己封装了一个库,实现逻辑以代码的形式展现到附件中.代码还有待完善.

Fullcalendar 日历控件的基本使用

1:Fullcalendar 日历控件的基本简介 Fullcalendar是一款十分强大的开源日历免费控件,提供了丰富的属性设置和方法调用. 官网地址:https://fullcalendar.io/ 文档地址:https://fullcalendar.io/docs/   优点:1.设置时区 2.丰富的回调函数 3.支持拖拽 多选 4.支持触摸 5.列表视图 6.年.月.周.日的显示 7.前端展示可自定义 8.有完整的文档 2:基本使用方法 需要引用的外部支持文件---->>> 1 &

fullcalendar日历控件知识点集合

1.基本的语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码.当然,这里的面向对象不过指能够把整个fullcalendar理解为一个类,这个类里包含有非常多的属性.方法.托付(函数回调)作为成员变量.通过为这些成员变量赋值,就可以实例化出一个符合自己需求的fullcalendar实例出来,即终于在浏览器里渲染出的日历.换句话说,我们所做的绝大多数工作就是依照fullcalendar的语法约定去配置出一个符合我们需求的fullcalendar实例.除非对于极少的特

fullcalendar日历控件集合知识

1.基本的语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码.当然,这里的面向对象不过指能够把整个fullcalendar理解为一个类,这个类里包含有非常多的属性.方法.托付(函数回调)作为成员变量.通过为这些成员变量赋值,就可以实例化出一个符合自己需求的fullcalendar实例出来,即终于在浏览器里渲染出的日历.换句话说,我们所做的绝大多数工作就是依照fullcalendar的语法约定去配置出一个符合我们需求的fullcalendar实例.除非对于极少的特

JS日历控件 灵活设置: 精确的时分秒.

在今年7月份时候 写了一篇关于 "JS日历控件" 的文章 , 当时只支持 年月日 的日历控件,现在优化如下: 1. 在原基础上 支持 yyyy-mm-dd 的年月日的控件. 2. 在原基础上增加支持 yyyy-mm-dd HH:MM 年月日时分的控件. 3. 在原基础上增加支持 yyyy-mm-dd HH:MM:SS 年月日时分秒的控件. 4. 增加确定按钮 及 今天 和关闭按钮.当我切换到其他年份的时候,我点击 "今天"按钮 就可以返回当前的年月份. 配置项如下: