use utc for absolute date formatting (#743)

* use utc for date formatting

* add seperate utc function and call that instead

* swap date format to be a constant

* make dateadded use non-utc
This commit is contained in:
Benjamin 2024-09-12 20:35:57 -05:00 committed by GitHub
parent 660c9744bf
commit 8d8826a9b7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 18 additions and 6 deletions

View File

@ -41,7 +41,12 @@ import { useFixedTableHeader } from '/@/renderer/components/virtual-table/hooks/
import { NoteCell } from '/@/renderer/components/virtual-table/cells/note-cell';
import { RowIndexCell } from '/@/renderer/components/virtual-table/cells/row-index-cell';
import i18n from '/@/i18n/i18n';
import { formatDateAbsolute, formatDateRelative, formatSizeString } from '/@/renderer/utils/format';
import {
formatDateAbsolute,
formatDateAbsoluteUTC,
formatDateRelative,
formatSizeString,
} from '/@/renderer/utils/format';
import { useTableChange } from '/@/renderer/hooks/use-song-change';
export * from './table-config-dropdown';
@ -253,7 +258,7 @@ const tableColumns: { [key: string]: ColDef } = {
GenericTableHeader(params, { position: 'center' }),
headerName: i18n.t('table.column.releaseDate'),
suppressSizeToFit: true,
valueFormatter: (params: ValueFormatterParams) => formatDateAbsolute(params.value),
valueFormatter: (params: ValueFormatterParams) => formatDateAbsoluteUTC(params.value),
valueGetter: (params: ValueGetterParams) =>
params.data ? params.data.releaseDate : undefined,
width: 130,

View File

@ -10,7 +10,7 @@ import { LibraryHeader, useSetRating } from '/@/renderer/features/shared';
import { useContainerQuery } from '/@/renderer/hooks';
import { AppRoute } from '/@/renderer/router/routes';
import { useCurrentServer } from '/@/renderer/store';
import { formatDateAbsolute, formatDurationString } from '/@/renderer/utils';
import { formatDateAbsoluteUTC, formatDurationString } from '/@/renderer/utils';
interface AlbumDetailHeaderProps {
background: {
@ -42,7 +42,7 @@ export const AlbumDetailHeader = forwardRef(
id: 'releaseDate',
value:
detailQuery?.data?.releaseDate &&
`${releasePrefix} ${formatDateAbsolute(detailQuery?.data?.releaseDate)}`,
`${releasePrefix} ${formatDateAbsoluteUTC(detailQuery?.data?.releaseDate)}`,
},
{
id: 'songCount',
@ -62,7 +62,7 @@ export const AlbumDetailHeader = forwardRef(
];
if (originalDifferentFromRelease) {
const formatted = `${formatDateAbsolute(detailQuery!.data!.originalDate)}`;
const formatted = `${formatDateAbsoluteUTC(detailQuery!.data!.originalDate)}`;
metadataItems.splice(0, 0, {
id: 'originalDate',
value: formatted,

View File

@ -1,13 +1,20 @@
import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime';
import utc from 'dayjs/plugin/utc';
import formatDuration from 'format-duration';
import type { Album, AlbumArtist, Song } from '/@/renderer/api/types';
import { Rating } from '/@/renderer/components/rating';
dayjs.extend(relativeTime);
dayjs.extend(utc);
const DATE_FORMAT = 'MMM D, YYYY';
export const formatDateAbsolute = (key: string | null) =>
key ? dayjs(key).format('MMM D, YYYY') : '';
key ? dayjs(key).format(DATE_FORMAT) : '';
export const formatDateAbsoluteUTC = (key: string | null) =>
key ? dayjs.utc(key).format(DATE_FORMAT) : '';
export const formatDateRelative = (key: string | null) => (key ? dayjs(key).fromNow() : '');