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

Posted 庚武讲堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

selenium - js日历控件处理

jquery日历控件

自己用js写的两个日历控件

13 js处理日历控件(去掉 readonly )

怎样为DEDECMS织梦系统页面添加日历控件

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