Fix timezone date display bug - ensure correct date shown across timezones
This commit is contained in:
parent
0a34e3de47
commit
e40bf61b04
@ -9,6 +9,12 @@ import Head from "next/head";
|
||||
import Link from "next/link";
|
||||
import { AudioPlayer } from "@/components/AudioPlayer";
|
||||
|
||||
// Helper to parse date string (YYYY-MM-DD) correctly across timezones
|
||||
// Appends noon UTC to ensure consistent date display regardless of local timezone
|
||||
function parseDate(dateStr: string): Date {
|
||||
return new Date(`${dateStr}T12:00:00Z`);
|
||||
}
|
||||
|
||||
interface Message {
|
||||
id: string;
|
||||
date: string;
|
||||
@ -219,7 +225,7 @@ function BlogPageContent() {
|
||||
{getTitle(selectedPost.content)}
|
||||
</h1>
|
||||
<p className="text-sm text-gray-500 dark:text-slate-400">
|
||||
{format(new Date(selectedPost.date), "MMMM d, yyyy")}
|
||||
{format(parseDate(selectedPost.date), "MMMM d, yyyy")}
|
||||
</p>
|
||||
</header>
|
||||
|
||||
@ -307,7 +313,7 @@ function BlogPageContent() {
|
||||
{getExcerpt(featuredPost.content, 200)}
|
||||
</p>
|
||||
<div className="flex items-center gap-4 text-sm text-gray-500 dark:text-slate-400">
|
||||
<span>{format(new Date(featuredPost.date), "MMMM d, yyyy")}</span>
|
||||
<span>{format(parseDate(featuredPost.date), "MMMM d, yyyy")}</span>
|
||||
<span>·</span>
|
||||
<span>5 min read</span>
|
||||
</div>
|
||||
@ -327,10 +333,10 @@ function BlogPageContent() {
|
||||
{/* Date Column */}
|
||||
<div className="hidden sm:block text-center min-w-[60px]">
|
||||
<div className="text-2xl font-bold text-gray-900 dark:text-slate-100">
|
||||
{format(new Date(post.date), "d")}
|
||||
{format(parseDate(post.date), "d")}
|
||||
</div>
|
||||
<div className="text-xs text-gray-500 dark:text-slate-400 uppercase">
|
||||
{format(new Date(post.date), "MMM")}
|
||||
{format(parseDate(post.date), "MMM")}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -361,7 +367,7 @@ function BlogPageContent() {
|
||||
</p>
|
||||
|
||||
<div className="flex items-center gap-3 text-xs text-gray-500 dark:text-slate-400">
|
||||
<span>{format(new Date(post.date), "MMMM d, yyyy")}</span>
|
||||
<span>{format(parseDate(post.date), "MMMM d, yyyy")}</span>
|
||||
<span>·</span>
|
||||
<span>3 min read</span>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user