From e74130c19dd01185301de7cd4828225e2b478bc6 Mon Sep 17 00:00:00 2001 From: pengzhanbo Date: Thu, 31 Oct 2024 01:53:39 +0800 Subject: [PATCH] fix(theme): incorrect date format, close #317 (#321) --- theme/src/client/composables/blog-archives.ts | 2 +- theme/src/node/prepare/prepareBlogData.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/theme/src/client/composables/blog-archives.ts b/theme/src/client/composables/blog-archives.ts index f42eb711..19215624 100644 --- a/theme/src/client/composables/blog-archives.ts +++ b/theme/src/client/composables/blog-archives.ts @@ -10,7 +10,7 @@ export function useArchives() { const archives: { label: string, list: ShortPostItem[] }[] = [] list.value.forEach((item) => { - const createTime = item.createTime?.split(' ')[0] || '' + const createTime = item.createTime?.split(/\s|T/)[0] || '' const year = createTime.split('/')[0] let current = archives.find(archive => archive.label === year) if (!current) { diff --git a/theme/src/node/prepare/prepareBlogData.ts b/theme/src/node/prepare/prepareBlogData.ts index 3b9c9596..ac9b7846 100644 --- a/theme/src/node/prepare/prepareBlogData.ts +++ b/theme/src/node/prepare/prepareBlogData.ts @@ -9,6 +9,7 @@ import type { } from '../../shared/index.js' import { removeLeadingSlash } from '@vuepress/helper' import { createFilter } from 'create-filter' +import dayjs from 'dayjs' import { resolveNotesOptions } from '../config/index.js' import { logger, normalizePath, resolveContent, writeTemp } from '../utils/index.js' import { isEncryptPage } from './prepareEncrypt.js' @@ -70,7 +71,7 @@ export async function preparedBlogData( categoryList: page.data.categoryList, tags, sticky: page.frontmatter.sticky, - createTime: page.data.frontmatter.createTime! || page.date?.replaceAll('-', '/') || '', + createTime: dayjs(new Date(page.data.frontmatter.createTime || page.date)).format('YYYY/MM/DD HH:mm:ss'), lang: page.lang, excerpt: '', cover: page.data.frontmatter.cover,