diff --git a/theme/src/client/composables/blog-archives.ts b/theme/src/client/composables/blog-archives.ts index f42eb711c..19215624e 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 3b9c95966..ac9b78462 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,