# DateTimeFormatterSkeletonOptions.Builder

Artifact: [androidx.core:core-i18n](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/i18n/DateTimeFormatterSkeletonOptions.kt+class:androidx.core.i18n.DateTimeFormatterSkeletonOptions.Builder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

*** ** * ** ***


```
public final class DateTimeFormatterSkeletonOptions.Builder
```

<br />

*** ** * ** ***

The `Builder` class used to construct a `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions` in a way that is safe and discoverable.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#Builder(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Era,androidx.core.i18n.DateTimeFormatterSkeletonOptions.Year,androidx.core.i18n.DateTimeFormatterSkeletonOptions.Month,androidx.core.i18n.DateTimeFormatterSkeletonOptions.Day,androidx.core.i18n.DateTimeFormatterSkeletonOptions.WeekDay,androidx.core.i18n.DateTimeFormatterSkeletonOptions.Period,androidx.core.i18n.DateTimeFormatterSkeletonOptions.Hour,androidx.core.i18n.DateTimeFormatterSkeletonOptions.Minute,androidx.core.i18n.DateTimeFormatterSkeletonOptions.Second,androidx.core.i18n.DateTimeFormatterSkeletonOptions.FractionalSecond,androidx.core.i18n.DateTimeFormatterSkeletonOptions.Timezone)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Era era, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Year year, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Month month, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Day day, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.WeekDay weekDay, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Period period, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Hour hour, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Minute minute, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Second second, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.FractionalSecond fractionalSecond, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Timezone timezone )` |

| ### Public methods |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#build()()` Builds the immutable `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions` to use with `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatter`. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setDay(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Day)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Day day)` Set the day presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setEra(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Era)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Era era)` Set the era presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setFractionalSecond(androidx.core.i18n.DateTimeFormatterSkeletonOptions.FractionalSecond)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.FractionalSecond fractionalSecond )` Set the fractional second presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setHour(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Hour)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Hour hour)` Set the hour presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setMinute(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Minute)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Minute minute)` Set the minute presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setMonth(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Month)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Month month)` Set the month presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setPeriod(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Period)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Period period)` Set the day period presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setSecond(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Second)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Second second)` Set the second presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setTimezone(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Timezone)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Timezone timezone)` Set the timezone presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setWeekDay(androidx.core.i18n.DateTimeFormatterSkeletonOptions.WeekDay)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.WeekDay weekDay)` Set the day of week presence and length to use for formatting. |
| `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder` | `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Builder#setYear(androidx.core.i18n.DateTimeFormatterSkeletonOptions.Year)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Year year)` Set the year presence and length to use for formatting. |

## Public constructors

### Builder

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public Builder(
    @NonNull DateTimeFormatterSkeletonOptions.Era era,
    @NonNull DateTimeFormatterSkeletonOptions.Year year,
    @NonNull DateTimeFormatterSkeletonOptions.Month month,
    @NonNull DateTimeFormatterSkeletonOptions.Day day,
    @NonNull DateTimeFormatterSkeletonOptions.WeekDay weekDay,
    @NonNull DateTimeFormatterSkeletonOptions.Period period,
    @NonNull DateTimeFormatterSkeletonOptions.Hour hour,
    @NonNull DateTimeFormatterSkeletonOptions.Minute minute,
    @NonNull DateTimeFormatterSkeletonOptions.Second second,
    @NonNull DateTimeFormatterSkeletonOptions.FractionalSecond fractionalSecond,
    @NonNull DateTimeFormatterSkeletonOptions.Timezone timezone
)
```

## Public methods

### build

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions build()
```

Builds the immutable `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions` to use with `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatter`.

return the `https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions` options.

### setDay

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setDay(@NonNull DateTimeFormatterSkeletonOptions.Day day)
```

Set the day presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Day day` | the era style to use. |

### setEra

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setEra(@NonNull DateTimeFormatterSkeletonOptions.Era era)
```

Set the era presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Era era` | the era style to use. |

### setFractionalSecond

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setFractionalSecond(
    @NonNull DateTimeFormatterSkeletonOptions.FractionalSecond fractionalSecond
)
```

Set the fractional second presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.FractionalSecond fractionalSecond` | the era style to use. |

### setHour

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setHour(@NonNull DateTimeFormatterSkeletonOptions.Hour hour)
```

Set the hour presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Hour hour` | the era style to use. |

### setMinute

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setMinute(@NonNull DateTimeFormatterSkeletonOptions.Minute minute)
```

Set the minute presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Minute minute` | the era style to use. |

### setMonth

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setMonth(@NonNull DateTimeFormatterSkeletonOptions.Month month)
```

Set the month presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Month month` | the era style to use. |

### setPeriod

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setPeriod(@NonNull DateTimeFormatterSkeletonOptions.Period period)
```

Set the day period presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Period period` | the era style to use. |

### setSecond

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setSecond(@NonNull DateTimeFormatterSkeletonOptions.Second second)
```

Set the second presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Second second` | the era style to use. |

### setTimezone

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setTimezone(@NonNull DateTimeFormatterSkeletonOptions.Timezone timezone)
```

Set the timezone presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Timezone timezone` | the era style to use. |

### setWeekDay

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setWeekDay(@NonNull DateTimeFormatterSkeletonOptions.WeekDay weekDay)
```

Set the day of week presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.WeekDay weekDay` | the era style to use. |

### setYear

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

```
public final @NonNull DateTimeFormatterSkeletonOptions.Builder setYear(@NonNull DateTimeFormatterSkeletonOptions.Year year)
```

Set the year presence and length to use for formatting.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/core/i18n/DateTimeFormatterSkeletonOptions.Year year` | the era style to use. |