Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.5 kB · 33 lines
TypeScript
at main
12345678910111213141516171819202122232425262728293031323334import memoize from 'lodash-es/memoize.js'
// This ensures you get the LOCAL date in ISO formatexport function getLocalISODate(): string { // Check for ant-only date override if (process.env.CLAUDE_CODE_OVERRIDE_DATE) { return process.env.CLAUDE_CODE_OVERRIDE_DATE }
const now = new Date() const year = now.getFullYear() const month = String(now.getMonth() + 1).padStart(2, '0') const day = String(now.getDate()).padStart(2, '0') return `${year}-${month}-${day}`}
// Memoized for prompt-cache stability — captures the date once at session start.// The main interactive path gets this behavior via memoize(getUserContext) in// context.ts; simple mode (--bare) calls getSystemPrompt per-request and needs// an explicit memoized date to avoid busting the cached prefix at midnight.// When midnight rolls over, getDateChangeAttachments appends the new date at// the tail (though simple mode disables attachments, so the trade-off there is:// stale date after midnight vs. ~entire-conversation cache bust — stale wins).export const getSessionStartDate = memoize(getLocalISODate)
// Returns "Month YYYY" (e.g. "February 2026") in the user's local timezone.// Changes monthly, not daily — used in tool prompts to minimize cache busting.export function getLocalMonthYear(): string { const date = process.env.CLAUDE_CODE_OVERRIDE_DATE ? new Date(process.env.CLAUDE_CODE_OVERRIDE_DATE) : new Date() return date.toLocaleString('en-US', { month: 'long', year: 'numeric' })}