1k-date-formatting

Guidelines for consistent date and time formatting across OneKey applications.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "1k-date-formatting" with this command: npx skills add onekeyhq/app-monorepo/onekeyhq-app-monorepo-1k-date-formatting

Date Formatting

Guidelines for consistent date and time formatting across OneKey applications.

Critical Rule

NEVER use native JavaScript date methods:

// ❌ FORBIDDEN date.toLocaleDateString() date.toLocaleString() date.toISOString() new Intl.DateTimeFormat().format(date)

// ✅ CORRECT import { formatDate } from '@onekeyhq/shared/src/utils/dateUtils'; formatDate(date, { hideSeconds: true });

Quick Reference

Function Use Case Example Output

formatDate(date, options?)

Full date and time 2024/01/15, 14:30

formatTime(date, options?)

Time only 14:30:45

formatRelativeDate(date)

Relative display Today , Yesterday

formatDistanceToNow(date)

Time distance 2 hours ago

formatDateFns(date, format?)

Custom format Based on template

Common Patterns

Transaction History

import { formatDate } from '@onekeyhq/shared/src/utils/dateUtils';

// Hide year if current year, hide seconds <SizableText> {formatDate(item.createdAt, { hideTheYear: true, hideSeconds: true })} </SizableText>

Custom Format

// Use format template {formatDate(item.timestamp, { formatTemplate: 'yyyy-LL-dd HH:mm' })}

React Hook (for dynamic updates)

import useFormatDate from '@onekeyhq/kit/src/hooks/useFormatDate';

function MyComponent() { const { formatDate } = useFormatDate(); return <SizableText>{formatDate(date, { hideSeconds: true })}</SizableText>; }

Format Options

interface IFormatDateOptions { hideYear?: boolean; // Always hide year hideMonth?: boolean; // Always hide month hideTheYear?: boolean; // Hide year if current year hideTheMonth?: boolean; // Hide month if current month hideTimeForever?: boolean; // Hide time portion hideSeconds?: boolean; // Hide seconds (HH:mm) formatTemplate?: string; // Custom date-fns format }

Detailed Guide

For comprehensive date formatting rules and examples, see date-formatting.md.

Topics covered:

  • Core utilities from @onekeyhq/shared/src/utils/dateUtils

  • Available formatting functions

  • Options reference and format templates

  • Common patterns for transactions, history, and relative time

  • React hooks for dynamic updates

  • Locale-aware formatting

  • Real-world examples

  • Troubleshooting

Key Files

Purpose File Path

Core utilities packages/shared/src/utils/dateUtils.ts

React hook packages/kit/src/hooks/useFormatDate.ts

Locale mapping packages/shared/src/locale/dateLocaleMap.ts

Related Skills

  • /1k-i18n

  • Internationalization and locale handling

  • /1k-coding-patterns

  • General coding patterns

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

react-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

implementing-figma-designs

No summary provided by upstream source.

Repository SourceNeeds Review
General

pr-review

No summary provided by upstream source.

Repository SourceNeeds Review
General

1k-i18n

No summary provided by upstream source.

Repository SourceNeeds Review