---
source: https://carbone.io/documentation/design/formatters/interval.html
title: "Interval and Duration"
description: "List of functions to manipulate and transform your JSON dates"
generated_at: "2026-07-13"
---

# Interval and Duration

List of functions to manipulate and transform your JSON dates  
COMMUNITY FEATURE Available for:  
✓ Carbone Cloud  
✓ Carbone On-premise  
✓ Embedded Carbone JS   v4.0+ 

## :formatI(patternOut, patternIn)

v4.1.0+

Format intervals and duration. List of format names:

-   `human+`
-   `human`
-   `millisecond(s)` or `ms`
-   `second(s)` or `s`
-   `minute(s)` or `m`
-   `hour(s)` or `h`
-   `year(s)` or `y`
-   `month(s)` or `M`
-   `week(s)` or `w`
-   `day(s)` or `d`

| Params | Description | Type |
| --- | --- | --- |
| patternOut | output format: human, human+, milliseconds, seconds, ... | String |
| patternIn | \[optional\] input unit: milliseconds, seconds, ... | String |

_Examples_

```javascript
// With API options: {
//   "lang": "en",
//   "timezone": "Europe/Paris"
// }
{d.value:formatI('second')} // input: 2000 → output: 2
{d.value:formatI('seconds')} // input: 2000 → output: 2
{d.value:formatI('s')} // input: 2000 → output: 2
{d.value:formatI('minute')} // input: 3600000 → output: 60
{d.value:formatI('hour')} // input: 3600000 → output: 1
{d.value:formatI('days')} // input: 2419200000 → output: 28
// With API options: {
//   "lang": "fr",
//   "timezone": "Europe/Paris"
// }
{d.value:formatI('human')} // input: 2000 → output: "quelques secondes"
{d.value:formatI('human+')} // input: 2000 → output: "dans quelques secondes"
{d.value:formatI('human+')} // input: -2000 → output: "il y a quelques secondes"
// With API options: {
//   "lang": "en",
//   "timezone": "Europe/Paris"
// }
{d.value:formatI('human')} // input: 2000 → output: "a few seconds"
{d.value:formatI('human+')} // input: 2000 → output: "in a few seconds"
{d.value:formatI('human+')} // input: -2000 → output: "a few seconds ago"
// With API options: {
//   "lang": "en",
//   "timezone": "Europe/Paris"
// }
{d.value:formatI('ms', 'minute')} // input: 60 → output: 3600000
{d.value:formatI('ms', 'weeks')} // input: 4 → output: 2419200000
// With API options: {
//   "lang": "en",
//   "timezone": "Europe/Paris"
// }
{d.value:formatI('ms')} // input: "P1M" → output: 2628000000
{d.value:formatI('hour')} // input: "P1Y2M3DT4H5M6S" → output: 10296.085
```

## Related topics

- [Text Formatting](/documentation/design/formatters/text.md)
- [How formatters work](/documentation/design/formatters/overview.md)
- [Number Formatting](/documentation/design/formatters/number.md)
- [Date Formatting](/documentation/design/formatters/date.md)
- [Currency Formatting](/documentation/design/formatters/currency.md)
- [Array manipulation](/documentation/design/formatters/array.md)
