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!

Troubleshoot user access with SOQL

How to Troubleshoot User Access with SOQL (Beginner Friendly)

Awesome Admins, we know that troubleshooting user access is a common task. You’re frequently asked questions like “Why can Jane access this field, but John can’t?” or “Why can John view this record when he shouldn’t be able to?” In Summer ’24, we introduced helpful summary views for users, public groups, permission sets, and permission […]

READ MORE
Get to know Einstein Copilot

Get to Know Einstein Copilot

With the arrival of ChatGPT3 and the overall rise in public awareness and access to artificial intelligence (AI) comes an invitation to explore a novel form of the user interface (UI)—one that’s conversational. Instead of having to select specific elements or options, users can simply ask an AI tool anything like they would ask a […]

READ MORE
Data Cloud: Full Stream Ahead

Data Cloud: Full Stream Ahead

Most admins don’t have the luxury of managing only a single Salesforce instance. Frequently, data is strewn across multiple orgs and can be difficult to integrate. That’s where Data Cloud comes in, providing the ability to create a single source of truth across Salesforce orgs. Even if you are the lucky admin with a single […]

READ MORE