duration-iso-8601
Converting ISO 8601 Duration(PnYnMnDTnHnMnS syntax)
https://en.wikipedia.org/wiki/ISO_8601#Durations
Installation
npm install duration-iso-8601 --save
Functions
convertDuration(String)
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
convertToSecond(String)
Input:
ISO 8601 Duration(PnYnMnDTnHnMnS syntax)
Output:
Number of second
Return null if the input is invalid
convertYouTubeDuration(String)
Input:
ISO 8601 Duration(PnYnMnDTnHnMnS syntax)
Output:
String(hh:mm:ss) of YouTube video duration syntax
Return null if the input is invalid
Examples
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