ngx-video-timeline
Version:
a video timeline for ng2+
35 lines • 4.84 kB
JavaScript
/**
* A utility class for working with dates.
*/
export class DateUtil {
/**
* Formats the given date according to the specified format.
* @param date The date to format.
* @param format The format string, using the following placeholders:
* - YYYY: four-digit year
* - MM: two-digit month (zero-padded)
* - DD: two-digit day of month (zero-padded)
* - HH: two-digit hour (zero-padded, 24-hour format)
* - mm: two-digit minute (zero-padded)
* - ss: two-digit second (zero-padded)
* @returns The formatted date string.
*/
static formatDate(date, format) {
// Extract the year, month, day, hours, minutes, and seconds from the date
const year = date.getFullYear().toString();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
const hours = date.getHours().toString().padStart(2, '0');
const minutes = date.getMinutes().toString().padStart(2, '0');
const seconds = date.getSeconds().toString().padStart(2, '0');
// Replace the placeholders in the format string with the corresponding date parts
return format
.replace('YYYY', year)
.replace('MM', month)
.replace('DD', day)
.replace('HH', hours)
.replace('mm', minutes)
.replace('ss', seconds);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGltZWxpbmUvc3JjL2xpYi91bnRpbHMvZGF0ZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFFbkI7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQVUsRUFBRSxNQUFjO1FBQzFDLDBFQUEwRTtRQUMxRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNoRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUU5RCxrRkFBa0Y7UUFDbEYsT0FBTyxNQUFNO2FBQ1YsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7YUFDcEIsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7YUFDbEIsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7YUFDcEIsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogQSB1dGlsaXR5IGNsYXNzIGZvciB3b3JraW5nIHdpdGggZGF0ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlVXRpbCB7XG5cbiAgLyoqXG4gICAqIEZvcm1hdHMgdGhlIGdpdmVuIGRhdGUgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0LlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBmb3JtYXQuXG4gICAqIEBwYXJhbSBmb3JtYXQgVGhlIGZvcm1hdCBzdHJpbmcsIHVzaW5nIHRoZSBmb2xsb3dpbmcgcGxhY2Vob2xkZXJzOlxuICAgKiAgIC0gWVlZWTogZm91ci1kaWdpdCB5ZWFyXG4gICAqICAgLSBNTTogdHdvLWRpZ2l0IG1vbnRoICh6ZXJvLXBhZGRlZClcbiAgICogICAtIEREOiB0d28tZGlnaXQgZGF5IG9mIG1vbnRoICh6ZXJvLXBhZGRlZClcbiAgICogICAtIEhIOiB0d28tZGlnaXQgaG91ciAoemVyby1wYWRkZWQsIDI0LWhvdXIgZm9ybWF0KVxuICAgKiAgIC0gbW06IHR3by1kaWdpdCBtaW51dGUgKHplcm8tcGFkZGVkKVxuICAgKiAgIC0gc3M6IHR3by1kaWdpdCBzZWNvbmQgKHplcm8tcGFkZGVkKVxuICAgKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIGRhdGUgc3RyaW5nLlxuICAgKi9cbiAgc3RhdGljIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSwgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIEV4dHJhY3QgdGhlIHllYXIsIG1vbnRoLCBkYXksIGhvdXJzLCBtaW51dGVzLCBhbmQgc2Vjb25kcyBmcm9tIHRoZSBkYXRlXG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xuICAgIGNvbnN0IG1vbnRoID0gKGRhdGUuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgaG91cnMgPSBkYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3Qgc2Vjb25kcyA9IGRhdGUuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcblxuICAgIC8vIFJlcGxhY2UgdGhlIHBsYWNlaG9sZGVycyBpbiB0aGUgZm9ybWF0IHN0cmluZyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGRhdGUgcGFydHNcbiAgICByZXR1cm4gZm9ybWF0XG4gICAgICAucmVwbGFjZSgnWVlZWScsIHllYXIpXG4gICAgICAucmVwbGFjZSgnTU0nLCBtb250aClcbiAgICAgIC5yZXBsYWNlKCdERCcsIGRheSlcbiAgICAgIC5yZXBsYWNlKCdISCcsIGhvdXJzKVxuICAgICAgLnJlcGxhY2UoJ21tJywgbWludXRlcylcbiAgICAgIC5yZXBsYWNlKCdzcycsIHNlY29uZHMpO1xuICB9XG59XG4iXX0=