Skip to Content

Hi All,

As i am a fresher to sapui5, i’ve been learning sapui5 and i have a task about calendars.

I have gone through SDK demokit and learnt some points , i will be keeping those points here.

In this blog i want to explain about “how to count the selected days excluding week days in a calendar”.

Step 1: First we need to create a Project in SAP Web IDE , here i am creating a project with the name of “Exsatsun” which is shown below.

Step 2: In the View, i have wrote code to display “Calendar” using “sap.ui.unified”.

View1.view.xml

<mvc:View controllerName="Exsatsun.controller.View1" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc"
	displayBlock="true" 
	xmlns:u="sap.ui.unified" xmlns:core="sap.ui.core" xmlns="sap.m">
	<App>
		<pages>
			<Page title="{i18n>title}">
				<content>
					<u:Calendar id="Cal1" select="handleCalendarSelect" intervalSelection="true"/>
				</content>
			</Page>
		</pages>
	</App>
</mvc:View>

 

After writing the above code and execution the view will be like as

Now write the controller code for “handleCalendarSelect” to display number of selected days excluding week days.

View1.controller.js

	handleCalendarSelect: function() {
			var oCalender = this.getView().byId("Cal1");
			oCalender = this.getView().byId("Cal1");
			var aSelectedDates = oCalender.getSelectedDates();
			var oStartDate = aSelectedDates[0].getStartDate();
			var oEndDate = aSelectedDates[0].getEndDate();
			var count = 0;
			while (oStartDate <= oEndDate) {
				if (oStartDate.getDay() !== 0 && oStartDate.getDay() !== 6)
					count++;
				oStartDate.setDate(oStartDate.getDate() + 1);
			}
			sap.m.MessageToast.show(count + "" + "days selected");
		}

After writing the above controller code and execution, the output will be:

 

Select Start date and end date from the calendar, if there are any week days (Saturday and Sunday) the count will be decreased by two days.

Here i have selected 9 days with week days but the output shows 7 days, means it excluded the week days.

Hope useful for beginners 🙂

 

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Alexander Swift

    Thank you so much! This function is perfect for my site. It is important for me that users do not have problems with choosing the date of the event they need. Customers are above all.

    (0) 

Leave a Reply