This sample demonstrates how to use the Calendar class in the Windows.Globalization namespace to manipulate and process dates based on a calendar system and the user's globalization preferences. (If you are looking for a sample which demonstrates an appointment calendar, see the Appointments sample.)
The Calendar class provides details of the user's default calendar or a caller-specified calendar system. The class gives access to specific statistical details as well as the ability to perform calendar-aware math operations.
The Calendar object can convert to and from a language-specific date type:
- C++: Windows::Foundation::DateTime
- C#: DateTimeOffset
- JavaScript: Date
The sample also uses the Windows.Globalization.CalendarIdentifiers and Windows.Globalization.ClockIdentifiers classes.
This sample contains scenarios that demonstrate:
-
How to create a calendar for the user's default preferences or for specific overrides, and how to display calendar details.
-
How to determine statistics for the current calendar date and time, such as the number of days in this month and the number of months in this year.
-
How to enumerate through a calendar and perform calendar math, such as determining the number of hours in a day that spans the transition from Daylight Saving Time. This scenario also demonstrates converting from a language-specific date type to a Calendar.
-
How to create a calendar using language names with supported Unicode extension tags, and how the extension tags are used by the calendar object.
-
How to support time zones in calendars, by changing several time zones within a calendar and showing the effect of the time zone change in the date and time properties of the calendar.
-
How to convert between calendars and a language-specific date type.
Windows.Globalization.Calendar
Windows.Globalization.CalendarIdentifiers
Windows.Globalization.ClockIdentifiers
Client: Windows 10
Server: Windows Server 2016 Technical Preview
Phone: Windows 10
- If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
- Start Microsoft Visual Studio 2015 and select File > Open > Project/Solution.
- Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the subfolder for this specific sample, then the subfolder for your preferred language (C++, C#, or JavaScript). Double-click the Visual Studio 2015 Solution (.sln) file.
- Press Ctrl+Shift+B, or select Build > Build Solution.
The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.
- Select Build > Deploy Solution.
- To debug the sample and then run it, press F5 or select Debug > Start Debugging. To run the sample without debugging, press Ctrl+F5 or select Debug > Start Without Debugging.