diff --git a/src/pages/rss.xml.ts b/src/pages/rss.xml.ts index 392c99c..1166c7b 100644 --- a/src/pages/rss.xml.ts +++ b/src/pages/rss.xml.ts @@ -1,6 +1,6 @@ import { getAllPosts } from "@/data/post"; import { siteConfig } from "@/site.config"; -import { collectionDateSort } from "@/utils/date"; +import { collectionDateSort, convertToBeijingTime } from "@/utils/date"; import rss from "@astrojs/rss"; import MarkdownIt from "markdown-it"; import sanitizeHtml from "sanitize-html"; @@ -25,7 +25,7 @@ export const GET = async () => { return { title: post.data.title, description: (post.data.description ?? "") + "\t" + tagStr, - pubDate: post.dateToCmp, + pubDate: convertToBeijingTime(post.dateToCmp), link: `posts/${post.id}/`, content: post.body ? sanitizeHtml( diff --git a/src/utils/date.ts b/src/utils/date.ts index 11c9663..ff52838 100644 --- a/src/utils/date.ts +++ b/src/utils/date.ts @@ -23,3 +23,18 @@ export function collectionDateSort(a: AllItem, b: AllItem) { export function getLatestUpdatedPost(a: AllItem, b: AllItem) { return getDateSortByUpdateTime(b).getTime() - getDateSortByUpdateTime(a).getTime(); } + +export function convertToBeijingTime(date: Date) { + const options = { + timeZone: "Asia/Shanghai", + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "2-digit", + minute: "2-digit", + second: "2-digit", + }; + const formatter = new Intl.DateTimeFormat("zh-CN", options as Intl.DateTimeFormatOptions); + const formattedDate = formatter.format(date); + return formattedDate; +}