Different fields in a template have a data type that determines which control the Content Editor will provide for interactive manipulation of the associated data. Sitecore provides an extensive set of both simple and complex standard data types such as Single Line Text, Rich Text, Number, Image, Multilist, TreeList, and many others. Some requirements may not get fulfilled by these primitive data types and you may need to create custom fields.
Let's consider that we have a requirement to provide a time zone selection along with date time, which can be used to show upcoming events on different time zones. Sitecore provides a simple date time control without supporting time zones. In this recipe, we will create a custom field to fulfil this requirement.