Take Advantage of the New Custom Time Field in Spring ’18

By

In Spring ’18, we released a new custom time field as an open beta. It means that this new field type will be available in both production and sandbox orgs. While it’s marked as ‘Beta’, this is a high-quality feature that is safe to use. However, there are a few limitations that you should be aware of and those can be found in our release notes.

What is the Custom Time Field?

The time field is a new addition to the widely used Date and DateTime fields. Now you can store specific times independently from a date. Time field allows you to store time as an independent value. You can think about it as the time on a wall clock—it is that particular time where you are, regardless of what time it is somewhere else in the world.

The time field comes as a separate field type, and also as a new return type for your formula fields. So, you can create a formula field that will return a time value.

Let’s look at a use case example of how to use this new field: You run a hotel empire and would like to get some insight into how early or late people check in and out from each of your properties. You can store check in and check out times for each of your hotels as a time field. And, check in times are always stored in local time so it doesn’t require a time zone adjustment. It’s a perfect use case!


Now that you have this information stored, let’s take a look at how we can leverage it in formula fields and validation rules.

Formulas and Validation Rules

So, let’s get to the fun part! The time field comes with a set of handy formula functions. Say for each check in/check out, you want to know how early or late it happened. To accomplish this, every time a customer checks in or out a hotel receptionist needs to create a record to specify when that event happened.

You can also create a simple formula to calculate how much earlier or later than the appointed time the check in or check out happened.

IF( ISPICKVAL(Type__c , "Check In") ,
Hotel__r.Check_In_Time__c - Time__c,
Hotel__r.Check_Out_Time__c - Time__c) / 3600000

(Note: this formula will return the time difference in milliseconds; this is why we convert it to hours by dividing by 3,600,000.)

Now, let’s use time fields in validation rules. Your hotels charge a late check out fee, and you want to make sure that hotel staff doesn’t forget to apply that fee. So, if a check out happens more than 2 hours after the official check out time, you want to show a validation error (unless the customer already paid that fee or it was waived for them).

Here’s a validation rule formula that will do the trick for you.

IF( ISPICKVAL( Event_Type__c , "Check Out"),
IF( Late_Check_Out_Approved__c = FALSE,
IF( (Hotel__r.Check_Out_Time__c + 720000) < Time__c, TRUE, FALSE),
FALSE),
FALSE)

Some other handy time functions to consider:

  • TIMEVALUE()
  • MILLISECOND(), SECOND(), MINUTE(), HOUR()

Resources

Now you can apply these simple examples in your org to solve your own business scenarios! If you want to learn more, check out the Spring ’18 release notes. You can also join other time field Trailblazers in our Trailblazer Community dedicated to the time field where you can ask questions and provide feedback. And, don’t forget to check out Date/Time formula Trailhead unit!

Celebrating 10 years of awesome admins

From Low Code to Agentforce: A 10-Year Journey of Awesome Admins

Over the past decade, the Salesforce Admin role has undergone a remarkable transformation, evolving alongside the platform itself from a simple CRM tool to a robust business ecosystem.  As Salesforce has grown, so too has the significance and complexity of the admin role, making it one of the most critical positions within any organization leveraging […]

READ MORE
Overcome access dilemmas with permission sets

Use Permission Sets To Overcome Common Access Dilemmas

As an Awesome Admin, it’s probably in your nature to look for any way to optimize a process or situation! As part of that never-ending desire for optimization, I would bet that you’ve spent a lot of time thinking about your permissions setup in Salesforce. Salesforce provides multiple ways to grant permissions to users, each […]

READ MORE