duration-iso-8601
Version:
Converting ISO 8601 Duration(PnYnMnDTnHnMnS syntax)
78 lines (55 loc) • 1.9 kB
Markdown
Converting ISO 8601 Duration(PnYnMnDTnHnMnS syntax)
https://en.wikipedia.org/wiki/ISO_8601#Durations
```
npm install duration-iso-8601 --save
```
**Input:**
ISO 8601 Duration(PnYnMnDTnHnMnS syntax)
**Output:**
Object
{ year: Number, month: Number, day: Number, hour: Number, minute: Number, second: Number }
Property value will be undefined if there is no value
Return null if the input is invalid
**Input:**
ISO 8601 Duration(PnYnMnDTnHnMnS syntax)
**Output:**
Number of second
Return null if the input is invalid
**Input:**
ISO 8601 Duration(PnYnMnDTnHnMnS syntax)
**Output:**
String(hh:mm:ss) of YouTube video duration syntax
Return null if the input is invalid
```javascript
import {convertDuration, convertToSecond, convertYouTubeDuration} from 'duration-iso-8601';
// convertDuration(String)
console.log(convertDuration('P1Y2M3DT4H5M6S'));
// return { year: 1, month: 2, day: 3, hour: 4, minute: 5, second: 6 }
console.log(convertDuration('P1Y30DT15M39S'));
// return { year: 1, month: undefined, day: 30, hour: undefined, minute: 15, second: 39 }
console.log(convertDuration('ieurht834'));
// return null
// convertToSecond(String)
console.log(convertToSecond('PT56M'));
// return 3360
console.log(convertToSecond('P3MT48M55S'));
// return 7778935
console.log(convertToSecond('P87(*&(bfwefh'));
// return null
// convertYouTubeDuration(String)
console.log(convertYouTubeDuration('PT3H'));
// return '3:00:00'
console.log(convertYouTubeDuration('PT28M59S'));
// return '28:59'
console.log(convertYouTubeDuration('PT4S'));
// return '0:04'
console.log(convertYouTubeDuration('^(*&*( qh2we'));
// return null
```