Files
Ammaar Reshi d6025af146 Initial commit
2025-01-04 14:06:53 +00:00

59 lines
1.5 KiB
Markdown

# postgres-interval [![tests](https://github.com/bendrucker/postgres-interval/workflows/tests/badge.svg)](https://github.com/bendrucker/postgres-interval/actions?query=workflow%3Atests)
> Parse Postgres interval columns
## Install
```sh
npm install --save postgres-interval
```
## Usage
```js
var parse = require('postgres-interval')
var interval = parse('01:02:03')
//=> {hours: 1, minutes: 2, seconds: 3}
interval.toPostgres()
// 3 seconds 2 minutes 1 hours
interval.toISOString()
// P0Y0M0DT1H2M3S
```
This package parses the default Postgres interval style. If you have changed [`intervalstyle`](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-INTERVALSTYLE), you will need to set it back to the default:
```sql
set intervalstyle to default;
```
## API
#### `parse(pgInterval)` -> `interval`
##### pgInterval
*Required*
Type: `string`
A Postgres interval string.
#### `interval.toPostgres()` -> `string`
Returns an interval string. This allows the interval object to be passed into prepared statements.
#### `interval.toISOString()` -> `string`
Returns an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) compliant string, for example `P0Y0M0DT0H9M0S`.
Also available as `interval.toISO()` for backwards compatibility.
#### `interval.toISOStringShort()` -> `string`
Returns an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Durations) compliant string shortened to minimum length, for example `PT9M`.
## License
MIT © [Ben Drucker](http://bendrucker.me)