## Introduction This PR enables functionality discussed in [Layout Date Formatting](https://github.com/twentyhq/core-team-issues/issues/97). ### TLDR; It enables greater control of date formatting at the object's field level by upgrading all DATE and DATE_TIME fields' settings from: ```ts { displayAsRelativeDate: boolean } ``` to: ```ts type FieldDateDisplayFormat = 'full_date' | 'relative_date' | 'date' | 'time' | 'year' | 'custom' { displayFormat: FieldDateDisplayFormat } ``` PR also includes an upgrade command that will update any existing DATE and DATE_TIME fields to the new settings value --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Félix Malfait <felix@twenty.com> Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
14 lines
306 B
TypeScript
14 lines
306 B
TypeScript
import { formatInTimeZone } from 'date-fns-tz';
|
|
|
|
export const formatDateISOStringToCustomUnicodeFormat = (
|
|
date: string,
|
|
timeZone: string,
|
|
dateFormat: string,
|
|
) => {
|
|
try {
|
|
return formatInTimeZone(new Date(date), timeZone, dateFormat);
|
|
} catch (e) {
|
|
return 'Invalid format string';
|
|
}
|
|
};
|