# Properties conversion in Spring Boot
###### tags: `spring`
## Converting durations
To specify a session timeout of 30 seconds, 30, `PT30S` and `30s` are all equivalent. A read timeout of 500ms can be specified in any of the following form: `500`, `PT0.5S` and `500ms`.
You can also use any of the supported units. These are:
`ns` for nanoseconds
`us` for microseconds
`ms` for milliseconds
`s` for seconds
`m` for minutes
`h` for hours
`d` for days
The default unit is milliseconds and can be overridden using `@DurationUnit` as illustrated in the sample above.
### Reference
* [Spring Boot Reference Documentation » 2.7.8. Properties Conversion](https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-duration "Converting durations")
## Converting periods
In addition to durations, Spring Boot can also work with `java.time.Period` type. The following formats can be used in application properties:
An regular int representation (using days as the default unit unless a `@PeriodUnit` has been specified).
The standard ISO-8601 format used by `java.time.Period`.
A simpler format where the value and the unit pairs are coupled (e.g. `1y3d` means 1 year and 3 days).
The following units are supported with the simple format:
* `y` for years
* `m` for months
* `w` for weeks
* `d` for days
### Reference
* [Spring Boot Reference Documentation » 2.7.8. Properties Conversion](https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-period "Converting periods")
## Converting Data Sizes
Spring Framework has a DataSize value type that expresses a size in bytes. If you expose a DataSize property, the following formats in application properties are available:
A regular `long` representation (using bytes as the default unit unless a `@DataSizeUnit` has been specified)
A more readable format where the value and the unit are coupled (e.g. `10MB` means 10 megabytes).
To specify a buffer size of 10 megabytes, `10` and `10MB` are equivalent. A size threshold of 256 bytes can be specified as `256` or `256B`.
You can also use any of the supported units. These are:
* `B` for bytes
* `KB` for kilobytes
* `MB` for megabytes
* `GB` for gigabytes
* `TB` for terabytes
The default unit is bytes and can be overridden using `@DataSizeUnit` as illustrated in the sample above.
### Reference
* [Spring Boot Reference Documentation » 2.7.8. Properties Conversion](https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-conversion-datasize "Converting Data Sizes")