This calculated field returns the time left before an issue is due, if a due date has been set.
Create a new Calculated Number Field (by JWT) custom field and name it properly.
Providing a description will help you to identify what the custom field does but this step is optional
Add the following expression:
{issue.dueDate} != null ? max({issue.dueDate} - {system.currentDateTime}, 0) : null
To achieve this, the following functions are used:
Choose Duration as Content type
Choose Short as Duration display format
For this use case the format duration was chosen, since the numeric value being calculated, a number of milliseconds, represents a time duration.
This way the value is represented like 2d 9h 43m instead of a single number.
2d 9h 43m
Check the parameter Uninitialized when calculated value is zero
This parameter is set to stop calculation once the Due Date has been reached.
Add the field to the relevant view screens.
Remember: All calculated fields are read-only and cannot be manually updated on a create or edit screen.
Check the results
Once configured and added to an issue screen, the result will look like this: