mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-04-23 08:16:16 -04:00
refactor(date-converter): mutualised and dry-ed code
This commit is contained in:
parent
0cc7af6b1d
commit
d2c767f092
1 changed files with 25 additions and 17 deletions
|
@ -83,46 +83,54 @@ function onDateInputChanged(value: string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const formats = [
|
type Format = {
|
||||||
|
name: string;
|
||||||
|
fromDate: (date: Date) => string;
|
||||||
|
toDate: (value: string) => Date;
|
||||||
|
};
|
||||||
|
|
||||||
|
const toDate: Format['toDate'] = (date) => new Date(date);
|
||||||
|
|
||||||
|
const formats: Format[] = [
|
||||||
{
|
{
|
||||||
name: 'JS locale date string',
|
name: 'JS locale date string',
|
||||||
fromDate: (date: Date) => date.toString(),
|
fromDate: (date) => date.toString(),
|
||||||
toDate: (date: string) => new Date(date),
|
toDate,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'ISO 8601',
|
name: 'ISO 8601',
|
||||||
fromDate: (date: Date) => formatISO(date),
|
fromDate: formatISO,
|
||||||
toDate: (date: string) => parseISO(date),
|
toDate: parseISO,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'ISO 9075',
|
name: 'ISO 9075',
|
||||||
fromDate: (date: Date) => formatISO9075(date),
|
fromDate: formatISO9075,
|
||||||
toDate: (date: string) => parseISO(date),
|
toDate: parseISO,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'RFC 3339',
|
name: 'RFC 3339',
|
||||||
fromDate: (date: Date) => formatRFC3339(date),
|
fromDate: formatRFC3339,
|
||||||
toDate: (date: string) => new Date(date),
|
toDate,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'RFC 7231',
|
name: 'RFC 7231',
|
||||||
fromDate: (date: Date) => formatRFC7231(date),
|
fromDate: formatRFC7231,
|
||||||
toDate: (date: string) => new Date(date),
|
toDate,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Timestamp',
|
name: 'Timestamp',
|
||||||
fromDate: (date: Date) => String(getTime(date)),
|
fromDate: (date) => String(getTime(date)),
|
||||||
toDate: (ms: string) => parseJSON(+ms),
|
toDate: (ms) => parseJSON(+ms),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Unix timestamp',
|
name: 'Unix timestamp',
|
||||||
fromDate: (date: Date) => String(getUnixTime(date)),
|
fromDate: (date) => String(getUnixTime(date)),
|
||||||
toDate: (sec: string) => fromUnixTime(+sec),
|
toDate: (sec) => fromUnixTime(+sec),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'UTC format',
|
name: 'UTC format',
|
||||||
fromDate: (date: Date) => date.toUTCString(),
|
fromDate: (date) => date.toUTCString(),
|
||||||
toDate: (date: string) => new Date(date),
|
toDate,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue